diff --git a/Android.bp b/Android.bp
index 28c3148..8f7bd1b 100644
--- a/Android.bp
+++ b/Android.bp
@@ -98,6 +98,7 @@
         "SettingsLibDataStore",
         "SettingsLibMetadata",
         "SettingsLibPreference",
+        "SettingsLibService",
         "aconfig_settings_flags_lib",
         "accessibility_settings_flags_lib",
         "contextualcards",
@@ -107,7 +108,6 @@
         "fuelgauge-protos-lite",
         "settings-logtags",
         "statslog-settings",
-        "telephony_flags_core_java_lib",
         "setupdesign-lottie-loading-layout",
         "device_policy_aconfig_flags_lib",
         "keyboard_flags_lib",
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 6408ab1..11d9779 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -5293,12 +5293,36 @@
                 android:value="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamConfirmDialog" />
         </activity>
 
+        <activity
+            android:name="Settings$ContactsStorageSettingsActivity"
+            android:label="@string/contacts_storage_settings_title"
+            android:exported="true"
+            android:featureFlag="com.android.settings.flags.enable_contacts_default_account_in_settings">
+            <intent-filter>
+                <action android:name="android.provider.action.SET_DEFAULT_ACCOUNT" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.applications.contacts.ContactsStorageSettings"/>
+        </activity>
+
         <service
             android:name="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamMediaService"
             android:foregroundServiceType="mediaPlayback"
             android:enabled="true"
             android:exported="false" />
 
+        <!-- Once b/364771256 is fixed, add android:featureFlag="com.android.settings.flags.catalyst_service". -->
+        <!-- Permission is not yet finalized, use READ_BASIC_PHONE_STATE temporarily. -->
+        <service
+            android:name=".SettingsService"
+            android:exported="true"
+            android:permission="android.permission.READ_BASIC_PHONE_STATE">
+            <intent-filter>
+                <action android:name="com.android.settingslib.PREFERENCE_SERVICE" />
+            </intent-filter>
+        </service>
+
         <receiver android:name="com.android.settings.connecteddevice.audiosharing.AudioSharingReceiver"
             android:exported="false">
             <intent-filter>
diff --git a/aconfig/catalyst/accessibility.aconfig b/aconfig/catalyst/accessibility.aconfig
new file mode 100644
index 0000000..7837067
--- /dev/null
+++ b/aconfig/catalyst/accessibility.aconfig
@@ -0,0 +1,16 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "catalyst_accessibility_color_and_motion"
+  namespace: "android_settings"
+  description: "Migrate Color and motion screen to the Catalyst infrastructure"
+  bug: "323791114"
+}
+
+flag {
+  name: "catalyst_text_reading_screen"
+  namespace: "android_settings"
+  description: "Flag for Display size and text"
+  bug: "323791114"
+}
diff --git a/aconfig/catalyst/battery.aconfig b/aconfig/catalyst/battery.aconfig
new file mode 100644
index 0000000..cec40f3
--- /dev/null
+++ b/aconfig/catalyst/battery.aconfig
@@ -0,0 +1,16 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "catalyst_power_usage_summary_screen"
+  namespace: "android_settings"
+  description: "Flag for Battery screen"
+  bug: "323791114"
+}
+
+flag {
+  name: "catalyst_battery_saver_screen"
+  namespace: "android_settings"
+  description: "Flag for Battery Saver"
+  bug: "323791114"
+}
\ No newline at end of file
diff --git a/aconfig/catalyst/connected_devices.aconfig b/aconfig/catalyst/connected_devices.aconfig
new file mode 100644
index 0000000..7a335fa
--- /dev/null
+++ b/aconfig/catalyst/connected_devices.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "catalyst_bluetooth_switchbar_screen"
+  namespace: "android_settings"
+  description: "Flag for Bluetooth"
+  bug: "323791114"
+}
diff --git a/aconfig/catalyst/display.aconfig b/aconfig/catalyst/display.aconfig
index f722f74..94a01e0 100644
--- a/aconfig/catalyst/display.aconfig
+++ b/aconfig/catalyst/display.aconfig
@@ -7,3 +7,10 @@
   description: "Flag for Display"
   bug: "323791114"
 }
+
+flag {
+  name: "catalyst_screen_timeout"
+  namespace: "android_settings"
+  description: "Flag for Screen Timeout settings"
+  bug: "323791114"
+}
diff --git a/aconfig/catalyst/location.aconfig b/aconfig/catalyst/location.aconfig
new file mode 100644
index 0000000..c656bf3
--- /dev/null
+++ b/aconfig/catalyst/location.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "catalyst_location_settings"
+  namespace: "android_settings"
+  description: "Flag for Location"
+  bug: "323791114"
+}
diff --git a/aconfig/catalyst/lockscreen.aconfig b/aconfig/catalyst/lockscreen.aconfig
new file mode 100644
index 0000000..9a84f66
--- /dev/null
+++ b/aconfig/catalyst/lockscreen.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "catalyst_lockscreen_from_display_settings"
+  namespace: "android_settings"
+  description: "Flag for Display & touch > Lock screen"
+  bug: "323791114"
+}
diff --git a/aconfig/catalyst/network_and_internet.aconfig b/aconfig/catalyst/network_and_internet.aconfig
new file mode 100644
index 0000000..99aec82
--- /dev/null
+++ b/aconfig/catalyst/network_and_internet.aconfig
@@ -0,0 +1,30 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "catalyst_network_provider_and_internet_screen"
+  namespace: "android_settings"
+  description: "Flag for Network & Internet"
+  bug: "323791114"
+}
+
+flag {
+  name: "catalyst_internet_settings"
+  namespace: "android_settings"
+  description: "Flag for Internet"
+  bug: "323791114"
+}
+
+flag {
+  name: "catalyst_mobile_network_list"
+  namespace: "android_settings"
+  description: "Flag for SIMs"
+  bug: "323791114"
+}
+
+flag {
+  name: "catalyst_adaptive_connectivity"
+  namespace: "android_settings"
+  description: "Flag for Adaptive connectivity"
+  bug: "323791114"
+}
diff --git a/aconfig/catalyst/sound_screen.aconfig b/aconfig/catalyst/sound_screen.aconfig
index ea5f771..ac7f8bc 100644
--- a/aconfig/catalyst/sound_screen.aconfig
+++ b/aconfig/catalyst/sound_screen.aconfig
@@ -6,4 +6,11 @@
     namespace: "android_settings"
     description: "Flag for sound and vibration page"
     bug: "323791114"
+}
+
+flag {
+    name: "catalyst_vibration_intensity_screen"
+    namespace: "android_settings"
+    description: "Flag for vibration and haptics page"
+    bug: "323791114"
 }
\ No newline at end of file
diff --git a/aconfig/settings_display_flag_declarations.aconfig b/aconfig/settings_display_flag_declarations.aconfig
index 9fe587b..a85d967 100644
--- a/aconfig/settings_display_flag_declarations.aconfig
+++ b/aconfig/settings_display_flag_declarations.aconfig
@@ -8,3 +8,10 @@
     bug: "315937886"
 }
 
+flag {
+    name: "screen_timeout_settings_dashboard"
+    namespace: "android_settings"
+    description: "Use dashboard style settings"
+    bug: "368359967"
+}
+
diff --git a/aconfig/settings_flag_declarations.aconfig b/aconfig/settings_flag_declarations.aconfig
index a9c7bd5..6eb1e02 100644
--- a/aconfig/settings_flag_declarations.aconfig
+++ b/aconfig/settings_flag_declarations.aconfig
@@ -63,3 +63,10 @@
   description: "Flag for all screens"
   bug: "323791114"
 }
+
+flag {
+  name: "catalyst_service"
+  namespace: "android_settings"
+  description: "Flag for catalyst service"
+  bug: "323791114"
+}
diff --git a/res-product/values-es-rUS/strings.xml b/res-product/values-es-rUS/strings.xml
index b3ab141..fdf6e0d 100644
--- a/res-product/values-es-rUS/strings.xml
+++ b/res-product/values-es-rUS/strings.xml
@@ -356,7 +356,7 @@
     <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Cuando muevas la tablet entre el modo vertical y el horizontal"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajusta cómo se muestran los colores en tu teléfono"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajusta cómo se muestran los colores en tu tablet"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Altavoces del teléfono"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Bocinas del teléfono"</string>
     <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Bocinas de la tablet"</string>
     <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Altavoces del dispositivo"</string>
     <string name="audio_sharing_dialog_share_content" product="default" msgid="708698992481271057">"La música y los videos de este teléfono se reproducirán en ambos pares de auriculares"</string>
diff --git a/res-product/values-it/strings.xml b/res-product/values-it/strings.xml
index f0dddcf..a9dbcf6 100644
--- a/res-product/values-it/strings.xml
+++ b/res-product/values-it/strings.xml
@@ -338,13 +338,13 @@
     <string name="no_5g_in_dsds_text" product="device" msgid="2081735896122371350">"Se vengono usate due SIM, questo dispositivo può usare soltanto la rete 4G. "<annotation id="url">"Ulteriori informazioni"</annotation></string>
     <string name="reset_internet_text" product="default" msgid="8672305377652449075">"La telefonata verrà terminata"</string>
     <string name="reset_internet_text" product="tablet" msgid="8672305377652449075">"La telefonata verrà terminata"</string>
-    <string name="lockpassword_confirm_your_pattern_details_frp" product="default" msgid="8795084788352126815">"Impostazioni di fabbrica ripristinate. Per usare il telefono, inserisci la sequenza precedente."</string>
+    <string name="lockpassword_confirm_your_pattern_details_frp" product="default" msgid="8795084788352126815">"Impostazioni di fabbrica ripristinate. Per usare lo smartphone, inserisci la sequenza precedente."</string>
     <string name="lockpassword_confirm_your_pattern_details_frp" product="tablet" msgid="1816846183732787701">"Impostazioni di fabbrica ripristinate. Per usare il tablet, inserisci la sequenza precedente."</string>
     <string name="lockpassword_confirm_your_pattern_details_frp" product="device" msgid="7897925268003690167">"Impostazioni di fabbrica ripristinate. Per usare il dispositivo, inserisci la sequenza precedente."</string>
-    <string name="lockpassword_confirm_your_pin_details_frp" product="default" msgid="2027547169650312092">"Impostazioni di fabbrica ripristinate. Per usare il telefono, inserisci il PIN precedente."</string>
+    <string name="lockpassword_confirm_your_pin_details_frp" product="default" msgid="2027547169650312092">"Impostazioni di fabbrica ripristinate. Per usare lo smartphone, inserisci il PIN precedente."</string>
     <string name="lockpassword_confirm_your_pin_details_frp" product="tablet" msgid="8264086895022779707">"Impostazioni di fabbrica ripristinate. Per usare il tablet, inserisci il PIN precedente."</string>
     <string name="lockpassword_confirm_your_pin_details_frp" product="device" msgid="1654340132011802578">"Impostazioni di fabbrica ripristinate. Per usare il dispositivo, inserisci il PIN precedente."</string>
-    <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Impostazioni di fabbrica ripristinate. Per usare il telefono, inserisci la password precedente."</string>
+    <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Impostazioni di fabbrica ripristinate. Per usare lo smartphone, inserisci la password precedente."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Impostazioni di fabbrica ripristinate. Per usare il tablet, inserisci la password precedente."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Impostazioni di fabbrica ripristinate. Per usare il dispositivo, inserisci la password precedente."</string>
     <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Lo smartphone potrebbe ricaricarsi lentamente o non ricaricarsi affatto. Per velocizzare la ricarica, usa un cavo e un alimentatore consigliati."</string>
diff --git a/res-product/values-pt-rBR/strings.xml b/res-product/values-pt-rBR/strings.xml
index e5b8d4c..2db3469 100644
--- a/res-product/values-pt-rBR/strings.xml
+++ b/res-product/values-pt-rBR/strings.xml
@@ -106,7 +106,7 @@
     <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="default" msgid="5512898803063743303">"Use seu rosto para desbloquear o smartphone, fazer fazer login em apps ou finalizar compras.\n\nNão se esqueça:\nSó é possível configurar um rosto por vez. Para adicionar outro rosto, exclua o registrado atualmente.\n\nOlhar para o smartphone pode desbloquear o dispositivo, mesmo sem intenção.\n\nEle pode ser desbloqueado por outra pessoa se ele for apontado para seu rosto, mesmo que você esteja com os olhos fechados.\n\nO desbloqueio também pode ser feito por alguém que se pareça muito com você, como um gêmeo idêntico."</string>
     <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="tablet" msgid="6790505667764631343">"Use seu rosto para desbloquear o tablet, fazer login em apps ou finalizar compras.\n\nNão se esqueça:\nSó é possível configurar um rosto por vez. Para adicionar outro rosto, exclua o registrado atualmente.\n\nOlhar para o tablet pode desbloquear o dispositivo, mesmo sem intenção.\n\nEle pode ser desbloqueado por outra pessoa se for direcionado para seu rosto, mesmo que você esteja de olhos fechados.\n\nTambém pode ser desbloqueado por alguém que se pareça muito com você, como, por exemplo, um gêmeo idêntico."</string>
     <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="device" msgid="7858917821957779752">"Use seu rosto para desbloquear o dispositivo ou confirmar sua identidade, fazer login ou finalizar compras.\n\nNão se esqueça:\nSó é possível configurar um rosto por vez. Para adicionar outro, exclua o registrado atualmente.\n\nOlhar para o dispositivo pode desbloquear mesmo sem intenção.\n\nEle pode ser desbloqueado por outra pessoa se for direcionado para seu rosto, mesmo com os olhos fechados.\n\nO desbloqueio também pode ser feito por alguém que se pareça muito com você, como um gêmeo idêntico."</string>
-    <string name="security_settings_fingerprint_enroll_introduction_v3_message" msgid="2145273491174234191">"Use sua impressão digital para desbloquear o dispositivo <xliff:g id="DEVICENAME">%s</xliff:g> ou confirmar sua identidade e acessar apps ou aprovar uma compra"</string>
+    <string name="security_settings_fingerprint_enroll_introduction_v3_message" msgid="2145273491174234191">"Use sua impressão digital para desbloquear o dispositivo <xliff:g id="DEVICENAME">%s</xliff:g> ou confirmar sua identidade, como ao acessar apps ou aprovar uma compra"</string>
     <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="default" msgid="5101253231118659496">"Permita que a criança use a impressão digital para desbloquear o smartphone ou confirmar a identidade dela. Isso acontece quando ela faz login em apps, aprova uma compra, entre outras ocasiões."</string>
     <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="tablet" msgid="3063978167545799342">"Permita que a criança use a impressão digital para desbloquear o tablet ou confirmar a identidade dela. Isso acontece quando ela faz login em apps, aprova uma compra, entre outras ocasiões."</string>
     <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="device" msgid="4399560001732497632">"Permita que a criança use a impressão digital para desbloquear o dispositivo ou confirmar a identidade dela. Isso acontece quando ela faz login em apps, aprova uma compra, entre outras ocasiões."</string>
diff --git a/res-product/values-pt/strings.xml b/res-product/values-pt/strings.xml
index e5b8d4c..2db3469 100644
--- a/res-product/values-pt/strings.xml
+++ b/res-product/values-pt/strings.xml
@@ -106,7 +106,7 @@
     <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="default" msgid="5512898803063743303">"Use seu rosto para desbloquear o smartphone, fazer fazer login em apps ou finalizar compras.\n\nNão se esqueça:\nSó é possível configurar um rosto por vez. Para adicionar outro rosto, exclua o registrado atualmente.\n\nOlhar para o smartphone pode desbloquear o dispositivo, mesmo sem intenção.\n\nEle pode ser desbloqueado por outra pessoa se ele for apontado para seu rosto, mesmo que você esteja com os olhos fechados.\n\nO desbloqueio também pode ser feito por alguém que se pareça muito com você, como um gêmeo idêntico."</string>
     <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="tablet" msgid="6790505667764631343">"Use seu rosto para desbloquear o tablet, fazer login em apps ou finalizar compras.\n\nNão se esqueça:\nSó é possível configurar um rosto por vez. Para adicionar outro rosto, exclua o registrado atualmente.\n\nOlhar para o tablet pode desbloquear o dispositivo, mesmo sem intenção.\n\nEle pode ser desbloqueado por outra pessoa se for direcionado para seu rosto, mesmo que você esteja de olhos fechados.\n\nTambém pode ser desbloqueado por alguém que se pareça muito com você, como, por exemplo, um gêmeo idêntico."</string>
     <string name="security_settings_face_settings_footer_class3_attention_not_supported" product="device" msgid="7858917821957779752">"Use seu rosto para desbloquear o dispositivo ou confirmar sua identidade, fazer login ou finalizar compras.\n\nNão se esqueça:\nSó é possível configurar um rosto por vez. Para adicionar outro, exclua o registrado atualmente.\n\nOlhar para o dispositivo pode desbloquear mesmo sem intenção.\n\nEle pode ser desbloqueado por outra pessoa se for direcionado para seu rosto, mesmo com os olhos fechados.\n\nO desbloqueio também pode ser feito por alguém que se pareça muito com você, como um gêmeo idêntico."</string>
-    <string name="security_settings_fingerprint_enroll_introduction_v3_message" msgid="2145273491174234191">"Use sua impressão digital para desbloquear o dispositivo <xliff:g id="DEVICENAME">%s</xliff:g> ou confirmar sua identidade e acessar apps ou aprovar uma compra"</string>
+    <string name="security_settings_fingerprint_enroll_introduction_v3_message" msgid="2145273491174234191">"Use sua impressão digital para desbloquear o dispositivo <xliff:g id="DEVICENAME">%s</xliff:g> ou confirmar sua identidade, como ao acessar apps ou aprovar uma compra"</string>
     <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="default" msgid="5101253231118659496">"Permita que a criança use a impressão digital para desbloquear o smartphone ou confirmar a identidade dela. Isso acontece quando ela faz login em apps, aprova uma compra, entre outras ocasiões."</string>
     <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="tablet" msgid="3063978167545799342">"Permita que a criança use a impressão digital para desbloquear o tablet ou confirmar a identidade dela. Isso acontece quando ela faz login em apps, aprova uma compra, entre outras ocasiões."</string>
     <string name="security_settings_fingerprint_enroll_introduction_consent_message" product="device" msgid="4399560001732497632">"Permita que a criança use a impressão digital para desbloquear o dispositivo ou confirmar a identidade dela. Isso acontece quando ela faz login em apps, aprova uma compra, entre outras ocasiões."</string>
diff --git a/res/drawable-night/mouse_keys_click.xml b/res/drawable-night/mouse_keys_click.xml
new file mode 100644
index 0000000..e5e8d5a
--- /dev/null
+++ b/res/drawable-night/mouse_keys_click.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#171216"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#F1B3E6"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#3A3338"/>
+</vector>
diff --git a/res/drawable-night/mouse_keys_directional.xml b/res/drawable-night/mouse_keys_directional.xml
new file mode 100644
index 0000000..fd49f1e
--- /dev/null
+++ b/res/drawable-night/mouse_keys_directional.xml
@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#171216"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#F1B3E6"/>
+    <group>
+        <clip-path
+            android:pathData="M172.4,18h12v12h-12z"/>
+        <path
+            android:pathData="M181.24,27.41L176.46,22.64V26.69H174.99V20.11H181.56V21.59H177.51L182.29,26.36L181.24,27.41Z"
+            android:fillColor="#4C1F49"/>
+    </group>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#F1B3E6"/>
+    <group>
+        <clip-path
+            android:pathData="M194.63,18h12v12h-12z"/>
+        <path
+            android:pathData="M199.89,28.02V22.81L197.66,25.05L196.61,24L200.63,19.98L204.66,24L203.61,25.05L201.37,22.81V28.02H199.89Z"
+            android:fillColor="#4C1F49"/>
+    </group>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#F1B3E6"/>
+    <group>
+        <clip-path
+            android:pathData="M216.86,18h12v12h-12z"/>
+        <path
+            android:pathData="M220.02,27.41L218.98,26.36L223.75,21.59H219.7V20.11H226.27V26.69H224.8V22.64L220.02,27.41Z"
+            android:fillColor="#4C1F49"/>
+    </group>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.66,14 282.77,14H297C298.1,14 299,14.9 299,16V32C299,33.1 298.1,34 297,34H282.77C281.66,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.3,42 121.2,42.9 121.2,44V60C121.2,61.1 120.3,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#F1B3E6"/>
+    <group>
+        <clip-path
+            android:pathData="M180.79,46h12v12h-12z"/>
+        <path
+            android:pathData="M185.6,52.74L187.84,54.97L186.79,56.03L182.76,52L186.79,47.97L187.84,49.03L185.6,51.26H190.81V52.74H185.6Z"
+            android:fillColor="#4C1F49"/>
+    </group>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#F1B3E6"/>
+    <group>
+        <clip-path
+            android:pathData="M231.59,46h12v12h-12z"/>
+        <path
+            android:pathData="M238.77,52.74H233.56V51.26H238.77L236.54,49.03L237.59,47.97L241.61,52L237.59,56.03L236.54,54.97L238.77,52.74Z"
+            android:fillColor="#4C1F49"/>
+    </group>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#F1B3E6"/>
+    <group>
+        <clip-path
+            android:pathData="M187.67,74h12v12h-12z"/>
+        <path
+            android:pathData="M190.09,83.59V78.51H191.56V81.07L196.64,76L197.67,77.04L192.6,82.11H195.16V83.59H190.09Z"
+            android:fillColor="#4C1F49"/>
+    </group>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.44C229.55,70 230.44,70.9 230.44,72V88C230.44,89.1 229.55,90 228.44,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#F1B3E6"/>
+    <group>
+        <clip-path
+            android:pathData="M213.45,74h12v12h-12z"/>
+        <path
+            android:pathData="M218.71,75.97H220.19V81.19L222.43,78.95L223.48,80L219.45,84.03L215.43,80L216.48,78.95L218.71,81.19V75.97Z"
+            android:fillColor="#4C1F49"/>
+    </group>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#F1B3E6"/>
+    <group>
+        <clip-path
+            android:pathData="M239.23,74h12v12h-12z"/>
+        <path
+            android:pathData="M243.84,83.69V82.21H246.4L241.21,77.01L242.24,75.97L247.44,81.18V78.61H248.92V83.69H243.84Z"
+            android:fillColor="#4C1F49"/>
+    </group>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.44C243.55,98 244.44,98.9 244.44,100V116C244.44,117.11 243.55,118 242.44,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#3A3338"/>
+</vector>
diff --git a/res/drawable-night/mouse_keys_press_hold.xml b/res/drawable-night/mouse_keys_press_hold.xml
new file mode 100644
index 0000000..eb85602
--- /dev/null
+++ b/res/drawable-night/mouse_keys_press_hold.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#171216"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#F1B3E6"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#3A3338"/>
+</vector>
diff --git a/res/drawable-night/mouse_keys_release.xml b/res/drawable-night/mouse_keys_release.xml
new file mode 100644
index 0000000..4fb7c4a
--- /dev/null
+++ b/res/drawable-night/mouse_keys_release.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#171216"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#F1B3E6"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#3A3338"/>
+</vector>
diff --git a/res/drawable-night/mouse_keys_release2.xml b/res/drawable-night/mouse_keys_release2.xml
new file mode 100644
index 0000000..e844bc9
--- /dev/null
+++ b/res/drawable-night/mouse_keys_release2.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#171216"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#F1B3E6"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#3A3338"/>
+</vector>
diff --git a/res/drawable-night/mouse_keys_toggle_scroll.xml b/res/drawable-night/mouse_keys_toggle_scroll.xml
new file mode 100644
index 0000000..3d6cbf3
--- /dev/null
+++ b/res/drawable-night/mouse_keys_toggle_scroll.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#171216"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#F1B3E6"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#554151"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#4E444B"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#3A3338"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#3A3338"/>
+</vector>
diff --git a/res/drawable/accessibility_contrast_button_background.xml b/res/drawable/accessibility_contrast_button_background.xml
index 281fcef..7e41aae 100644
--- a/res/drawable/accessibility_contrast_button_background.xml
+++ b/res/drawable/accessibility_contrast_button_background.xml
@@ -32,7 +32,7 @@
             <item
                 android:width="24dp"
                 android:height="24dp"
-                android:left="57dp"
+                android:start="57dp"
                 android:top="57dp">
                 <vector
                     android:width="24dp"
diff --git a/res/drawable/audio_sharing_rounded_bg.xml b/res/drawable/audio_sharing_rounded_bg.xml
deleted file mode 100644
index 35517ea..0000000
--- a/res/drawable/audio_sharing_rounded_bg.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2023 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.
-  -->
-
-<shape
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
-    android:shape="rectangle">
-    <solid android:color="?androidprv:attr/colorAccentPrimary" />
-    <corners android:radius="12dp" />
-</shape>
\ No newline at end of file
diff --git a/res/drawable/audio_sharing_rounded_bg_ripple.xml b/res/drawable/audio_sharing_rounded_bg_ripple.xml
deleted file mode 100644
index 18696c6..0000000
--- a/res/drawable/audio_sharing_rounded_bg_ripple.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2023 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.
-  -->
-
-<ripple xmlns:android="http://schemas.android.com/apk/res/android"
-    android:color="?android:attr/colorControlHighlight">
-    <item android:drawable="@drawable/audio_sharing_rounded_bg"/>
-</ripple>
\ No newline at end of file
diff --git a/res/drawable/mouse_keys_click.xml b/res/drawable/mouse_keys_click.xml
new file mode 100644
index 0000000..2dd6238
--- /dev/null
+++ b/res/drawable/mouse_keys_click.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#FFF7F9"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#804D7A"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#ECDFE5"/>
+</vector>
diff --git a/res/drawable/mouse_keys_directional.xml b/res/drawable/mouse_keys_directional.xml
new file mode 100644
index 0000000..ae79563
--- /dev/null
+++ b/res/drawable/mouse_keys_directional.xml
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#FFF7F9"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#804D7A"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#804D7A"/>
+    <group>
+        <clip-path
+            android:pathData="M172.4,18h12v12h-12z"/>
+        <path
+            android:pathData="M181.24,27.41L176.46,22.64V26.69H174.99V20.11H181.56V21.59H177.51L182.29,26.36L181.24,27.41Z"
+            android:fillColor="#ffffff"/>
+    </group>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#804D7A"/>
+    <group>
+        <clip-path
+            android:pathData="M194.63,18h12v12h-12z"/>
+        <path
+            android:pathData="M199.89,28.02V22.81L197.66,25.05L196.61,24L200.63,19.98L204.66,24L203.61,25.05L201.37,22.81V28.02H199.89Z"
+            android:fillColor="#ffffff"/>
+    </group>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#804D7A"/>
+    <group>
+        <clip-path
+            android:pathData="M216.86,18h12v12h-12z"/>
+        <path
+            android:pathData="M220.02,27.41L218.98,26.36L223.75,21.59H219.7V20.11H226.27V26.69H224.8V22.64L220.02,27.41Z"
+            android:fillColor="#ffffff"/>
+    </group>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.66,14 282.77,14H297C298.1,14 299,14.9 299,16V32C299,33.1 298.1,34 297,34H282.77C281.66,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.3,42 121.2,42.9 121.2,44V60C121.2,61.1 120.3,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#804D7A"/>
+    <group>
+        <clip-path
+            android:pathData="M180.79,46h12v12h-12z"/>
+        <path
+            android:pathData="M185.6,52.74L187.84,54.97L186.79,56.03L182.76,52L186.79,47.97L187.84,49.03L185.6,51.26H190.81V52.74H185.6Z"
+            android:fillColor="#ffffff"/>
+    </group>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#804D7A"/>
+    <group>
+        <clip-path
+            android:pathData="M231.59,46h12v12h-12z"/>
+        <path
+            android:pathData="M238.77,52.74H233.56V51.26H238.77L236.54,49.03L237.59,47.97L241.61,52L237.59,56.03L236.54,54.97L238.77,52.74Z"
+            android:fillColor="#ffffff"/>
+    </group>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#804D7A"/>
+    <group>
+        <clip-path
+            android:pathData="M187.67,74h12v12h-12z"/>
+        <path
+            android:pathData="M190.09,83.59V78.51H191.56V81.07L196.64,76L197.67,77.04L192.6,82.11H195.16V83.59H190.09Z"
+            android:fillColor="#ffffff"/>
+    </group>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.44C229.55,70 230.44,70.9 230.44,72V88C230.44,89.1 229.55,90 228.44,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#804D7A"/>
+    <group>
+        <clip-path
+            android:pathData="M213.45,74h12v12h-12z"/>
+        <path
+            android:pathData="M218.71,75.97H220.19V81.19L222.43,78.95L223.48,80L219.45,84.03L215.43,80L216.48,78.95L218.71,81.19V75.97Z"
+            android:fillColor="#ffffff"/>
+    </group>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#804D7A"/>
+    <group>
+        <clip-path
+            android:pathData="M239.23,74h12v12h-12z"/>
+        <path
+            android:pathData="M243.84,83.69V82.21H246.4L241.21,77.01L242.24,75.97L247.44,81.18V78.61H248.92V83.69H243.84Z"
+            android:fillColor="#ffffff"/>
+    </group>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.44C243.55,98 244.44,98.9 244.44,100V116C244.44,117.11 243.55,118 242.44,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#F2E5EB"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#ECDFE5"/>
+</vector>
diff --git a/res/drawable/mouse_keys_press_hold.xml b/res/drawable/mouse_keys_press_hold.xml
new file mode 100644
index 0000000..af20290
--- /dev/null
+++ b/res/drawable/mouse_keys_press_hold.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#FFF7F9"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#804D7A"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#ECDFE5"/>
+</vector>
diff --git a/res/drawable/mouse_keys_release.xml b/res/drawable/mouse_keys_release.xml
new file mode 100644
index 0000000..232d5e7
--- /dev/null
+++ b/res/drawable/mouse_keys_release.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#FFF7F9"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#804D7A"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#ECDFE5"/>
+</vector>
diff --git a/res/drawable/mouse_keys_release2.xml b/res/drawable/mouse_keys_release2.xml
new file mode 100644
index 0000000..88422cb
--- /dev/null
+++ b/res/drawable/mouse_keys_release2.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#FFF7F9"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#804D7A"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#ECDFE5"/>
+</vector>
diff --git a/res/drawable/mouse_keys_toggle_scroll.xml b/res/drawable/mouse_keys_toggle_scroll.xml
new file mode 100644
index 0000000..1a1a550
--- /dev/null
+++ b/res/drawable/mouse_keys_toggle_scroll.xml
@@ -0,0 +1,192 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright 2024 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="348dp"
+        android:height="160dp"
+        android:viewportWidth="348"
+        android:viewportHeight="160">
+    <path
+        android:pathData="M6,14C6,9.58 9.58,6 14,6H334C338.42,6 342,9.58 342,14V146C342,150.42 338.42,154 334,154H14C9.58,154 6,150.42 6,146V14Z"
+        android:fillColor="#FFF7F9"/>
+    <path
+        android:pathData="M14,16C14,14.9 14.9,14 16,14H30.23C31.34,14 32.23,14.9 32.23,16V32C32.23,33.1 31.34,34 30.23,34H16C14.9,34 14,33.1 14,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M36.23,16C36.23,14.9 37.13,14 38.23,14H52.46C53.57,14 54.46,14.9 54.46,16V32C54.46,33.1 53.57,34 52.46,34H38.23C37.13,34 36.23,33.1 36.23,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M58.46,16C58.46,14.9 59.36,14 60.46,14H74.69C75.8,14 76.69,14.9 76.69,16V32C76.69,33.1 75.8,34 74.69,34H60.46C59.36,34 58.46,33.1 58.46,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M80.69,16C80.69,14.9 81.59,14 82.69,14H96.92C98.03,14 98.92,14.9 98.92,16V32C98.92,33.1 98.03,34 96.92,34H82.69C81.59,34 80.69,33.1 80.69,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M102.92,16C102.92,14.9 103.82,14 104.92,14H119.15C120.26,14 121.15,14.9 121.15,16V32C121.15,33.1 120.26,34 119.15,34H104.92C103.82,34 102.92,33.1 102.92,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.15,16C125.15,14.9 126.05,14 127.15,14H141.38C142.49,14 143.38,14.9 143.38,16V32C143.38,33.1 142.49,34 141.38,34H127.15C126.05,34 125.15,33.1 125.15,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M147.38,16C147.38,14.9 148.28,14 149.38,14H163.62C164.72,14 165.62,14.9 165.62,16V32C165.62,33.1 164.72,34 163.62,34H149.38C148.28,34 147.38,33.1 147.38,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M169.62,16C169.62,14.9 170.51,14 171.62,14H185.85C186.95,14 187.85,14.9 187.85,16V32C187.85,33.1 186.95,34 185.85,34H171.62C170.51,34 169.62,33.1 169.62,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M191.85,16C191.85,14.9 192.74,14 193.85,14H208.08C209.18,14 210.08,14.9 210.08,16V32C210.08,33.1 209.18,34 208.08,34H193.85C192.74,34 191.85,33.1 191.85,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M214.08,16C214.08,14.9 214.97,14 216.08,14H230.31C231.41,14 232.31,14.9 232.31,16V32C232.31,33.1 231.41,34 230.31,34H216.08C214.97,34 214.08,33.1 214.08,32V16Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M236.31,16C236.31,14.9 237.2,14 238.31,14H252.54C253.64,14 254.54,14.9 254.54,16V32C254.54,33.1 253.64,34 252.54,34H238.31C237.2,34 236.31,33.1 236.31,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M258.54,16C258.54,14.9 259.43,14 260.54,14H274.77C275.87,14 276.77,14.9 276.77,16V32C276.77,33.1 275.87,34 274.77,34H260.54C259.43,34 258.54,33.1 258.54,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M280.77,16C280.77,14.9 281.67,14 282.77,14H297C298.11,14 299,14.9 299,16V32C299,33.1 298.11,34 297,34H282.77C281.67,34 280.77,33.1 280.77,32V16Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,16C303,14.9 303.89,14 305,14H332C333.11,14 334,14.9 334,16V32C334,33.1 333.11,34 332,34H305C303.89,34 303,33.1 303,32V16Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,44C14,42.9 14.9,42 16,42H43C44.1,42 45,42.9 45,44V60C45,61.1 44.1,62 43,62H16C14.9,62 14,61.1 14,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M49,44C49,42.9 49.9,42 51,42H68.4C69.5,42 70.4,42.9 70.4,44V60C70.4,61.1 69.5,62 68.4,62H51C49.9,62 49,61.1 49,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M74.4,44C74.4,42.9 75.3,42 76.4,42H93.8C94.9,42 95.8,42.9 95.8,44V60C95.8,61.1 94.9,62 93.8,62H76.4C75.3,62 74.4,61.1 74.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M99.8,44C99.8,42.9 100.69,42 101.8,42H119.2C120.31,42 121.2,42.9 121.2,44V60C121.2,61.1 120.31,62 119.2,62H101.8C100.69,62 99.8,61.1 99.8,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M125.2,44C125.2,42.9 126.1,42 127.2,42H144.6C145.71,42 146.6,42.9 146.6,44V60C146.6,61.1 145.71,62 144.6,62H127.2C126.1,62 125.2,61.1 125.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M150.6,44C150.6,42.9 151.5,42 152.6,42H170C171.1,42 172,42.9 172,44V60C172,61.1 171.1,62 170,62H152.6C151.5,62 150.6,61.1 150.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M176,44C176,42.9 176.9,42 178,42H195.4C196.51,42 197.4,42.9 197.4,44V60C197.4,61.1 196.51,62 195.4,62H178C176.9,62 176,61.1 176,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M201.4,44C201.4,42.9 202.29,42 203.4,42H220.8C221.9,42 222.8,42.9 222.8,44V60C222.8,61.1 221.9,62 220.8,62H203.4C202.29,62 201.4,61.1 201.4,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M226.8,44C226.8,42.9 227.7,42 228.8,42H246.2C247.3,42 248.2,42.9 248.2,44V60C248.2,61.1 247.3,62 246.2,62H228.8C227.7,62 226.8,61.1 226.8,60V44Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M252.2,44C252.2,42.9 253.1,42 254.2,42H271.6C272.7,42 273.6,42.9 273.6,44V60C273.6,61.1 272.7,62 271.6,62H254.2C253.1,62 252.2,61.1 252.2,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M277.6,44C277.6,42.9 278.5,42 279.6,42H297C298.11,42 299,42.9 299,44V60C299,61.1 298.11,62 297,62H279.6C278.5,62 277.6,61.1 277.6,60V44Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M303,44C303,42.9 303.89,42 305,42H332C333.11,42 334,42.9 334,44V60C334,61.1 333.11,62 332,62H305C303.89,62 303,61.1 303,60V44Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,72C14,70.9 14.9,70 16,70H48C49.1,70 50,70.9 50,72V88C50,89.1 49.1,90 48,90H16C14.9,90 14,89.1 14,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,72C54,70.9 54.9,70 56,70H73.78C74.88,70 75.78,70.9 75.78,72V88C75.78,89.1 74.88,90 73.78,90H56C54.9,90 54,89.1 54,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M79.78,72C79.78,70.9 80.67,70 81.78,70H99.56C100.66,70 101.56,70.9 101.56,72V88C101.56,89.1 100.66,90 99.56,90H81.78C80.67,90 79.78,89.1 79.78,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M105.56,72C105.56,70.9 106.45,70 107.56,70H125.33C126.44,70 127.33,70.9 127.33,72V88C127.33,89.1 126.44,90 125.33,90H107.56C106.45,90 105.56,89.1 105.56,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M131.33,72C131.33,70.9 132.23,70 133.33,70H151.11C152.22,70 153.11,70.9 153.11,72V88C153.11,89.1 152.22,90 151.11,90H133.33C132.23,90 131.33,89.1 131.33,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M157.11,72C157.11,70.9 158.01,70 159.11,70H176.89C177.99,70 178.89,70.9 178.89,72V88C178.89,89.1 177.99,90 176.89,90H159.11C158.01,90 157.11,89.1 157.11,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M182.89,72C182.89,70.9 183.78,70 184.89,70H202.67C203.77,70 204.67,70.9 204.67,72V88C204.67,89.1 203.77,90 202.67,90H184.89C183.78,90 182.89,89.1 182.89,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M208.67,72C208.67,70.9 209.56,70 210.67,70H228.45C229.55,70 230.45,70.9 230.45,72V88C230.45,89.1 229.55,90 228.45,90H210.67C209.56,90 208.67,89.1 208.67,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M234.44,72C234.44,70.9 235.34,70 236.44,70H254.22C255.33,70 256.22,70.9 256.22,72V88C256.22,89.1 255.33,90 254.22,90H236.44C235.34,90 234.44,89.1 234.44,88V72Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M260.22,72C260.22,70.9 261.12,70 262.22,70H280C281.11,70 282,70.9 282,72V88C282,89.1 281.11,90 280,90H262.22C261.12,90 260.22,89.1 260.22,88V72Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M286,72C286,70.9 286.89,70 288,70H332C333.11,70 334,70.9 334,72V88C334,89.1 333.11,90 332,90H288C286.89,90 286,89.1 286,88V72Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,100C14,98.9 14.9,98 16,98H62C63.1,98 64,98.9 64,100V116C64,117.11 63.1,118 62,118H16C14.9,118 14,117.11 14,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M68,100C68,98.9 68.9,98 70,98H87.78C88.88,98 89.78,98.9 89.78,100V116C89.78,117.11 88.88,118 87.78,118H70C68.9,118 68,117.11 68,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M93.78,100C93.78,98.9 94.67,98 95.78,98H113.56C114.66,98 115.56,98.9 115.56,100V116C115.56,117.11 114.66,118 113.56,118H95.78C94.67,118 93.78,117.11 93.78,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M119.56,100C119.56,98.9 120.45,98 121.56,98H139.33C140.44,98 141.33,98.9 141.33,100V116C141.33,117.11 140.44,118 139.33,118H121.56C120.45,118 119.56,117.11 119.56,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M145.33,100C145.33,98.9 146.23,98 147.33,98H165.11C166.22,98 167.11,98.9 167.11,100V116C167.11,117.11 166.22,118 165.11,118H147.33C146.23,118 145.33,117.11 145.33,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M171.11,100C171.11,98.9 172.01,98 173.11,98H190.89C191.99,98 192.89,98.9 192.89,100V116C192.89,117.11 191.99,118 190.89,118H173.11C172.01,118 171.11,117.11 171.11,116V100Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M196.89,100C196.89,98.9 197.78,98 198.89,98H216.67C217.77,98 218.67,98.9 218.67,100V116C218.67,117.11 217.77,118 216.67,118H198.89C197.78,118 196.89,117.11 196.89,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M222.67,100C222.67,98.9 223.56,98 224.67,98H242.45C243.55,98 244.45,98.9 244.45,100V116C244.45,117.11 243.55,118 242.45,118H224.67C223.56,118 222.67,117.11 222.67,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M248.44,100C248.44,98.9 249.34,98 250.44,98H268.22C269.33,98 270.22,98.9 270.22,100V116C270.22,117.11 269.33,118 268.22,118H250.44C249.34,118 248.44,117.11 248.44,116V100Z"
+        android:fillColor="#804D7A"/>
+    <path
+        android:pathData="M274.22,100C274.22,98.9 275.12,98 276.22,98H294C295.11,98 296,98.9 296,100V116C296,117.11 295.11,118 294,118H276.22C275.12,118 274.22,117.11 274.22,116V100Z"
+        android:fillColor="#F8DAEE"/>
+    <path
+        android:pathData="M300,100C300,98.9 300.89,98 302,98H332C333.11,98 334,98.9 334,100V116C334,117.11 333.11,118 332,118H302C300.89,118 300,117.11 300,116V100Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M14,128C14,126.89 14.9,126 16,126H48C49.1,126 50,126.89 50,128V144C50,145.1 49.1,146 48,146H16C14.9,146 14,145.1 14,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M54,128C54,126.89 54.9,126 56,126H88C89.1,126 90,126.89 90,128V144C90,145.1 89.1,146 88,146H56C54.9,146 54,145.1 54,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M94,128C94,126.89 94.9,126 96,126H248C249.1,126 250,126.89 250,128V144C250,145.1 249.1,146 248,146H96C94.9,146 94,145.1 94,144V128Z"
+        android:fillColor="#D1C2CB"/>
+    <path
+        android:pathData="M254,128C254,126.89 254.9,126 256,126H276C277.11,126 278,126.89 278,128V144C278,145.1 277.11,146 276,146H256C254.9,146 254,145.1 254,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M282,128C282,126.89 282.89,126 284,126H304C305.11,126 306,126.89 306,128V144C306,145.1 305.11,146 304,146H284C282.89,146 282,145.1 282,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M310,128C310,126.89 310.89,126 312,126H332C333.11,126 334,126.89 334,128V144C334,145.1 333.11,146 332,146H312C310.89,146 310,145.1 310,144V128Z"
+        android:fillColor="#ECDFE5"/>
+    <path
+        android:pathData="M18,3C9.72,3 3,9.72 3,18V142C3,150.28 9.72,157 18,157H330C338.28,157 345,150.28 345,142V18C345,9.72 338.28,3 330,3H18Z"
+        android:strokeWidth="6"
+        android:fillColor="#00000000"
+        android:strokeColor="#ECDFE5"/>
+</vector>
diff --git a/res/layout/dialog_custom_body_audio_sharing.xml b/res/layout/dialog_custom_body_audio_sharing.xml
index ba7f643..5e9f239 100644
--- a/res/layout/dialog_custom_body_audio_sharing.xml
+++ b/res/layout/dialog_custom_body_audio_sharing.xml
@@ -64,7 +64,7 @@
             android:layout_gravity="center"
             android:layout_marginTop="4dp"
             android:textColor="?androidprv:attr/textColorOnAccent"
-            android:background="@drawable/audio_sharing_rounded_bg_ripple"
+            android:background="@drawable/audio_sharing_rounded_bg_ripple_top"
             android:visibility="gone" />
 
         <Button
@@ -75,7 +75,7 @@
             android:layout_gravity="center"
             android:layout_marginTop="4dp"
             android:textColor="?androidprv:attr/textColorOnAccent"
-            android:background="@drawable/audio_sharing_rounded_bg_ripple"
+            android:background="@drawable/audio_sharing_rounded_bg_ripple_bottom"
             android:visibility="gone" />
     </LinearLayout>
 </ScrollView>
\ No newline at end of file
diff --git a/res/layout/dialog_a11y_bounce_key.xml b/res/layout/dialog_keyboard_a11y_input_setting_keys.xml
similarity index 80%
rename from res/layout/dialog_a11y_bounce_key.xml
rename to res/layout/dialog_keyboard_a11y_input_setting_keys.xml
index da3ebde..dfa3c46 100644
--- a/res/layout/dialog_a11y_bounce_key.xml
+++ b/res/layout/dialog_keyboard_a11y_input_setting_keys.xml
@@ -22,47 +22,45 @@
               android:orientation="vertical">
 
     <TextView
-        android:id="@+id/bounce_key_dialog_title"
+        android:id="@+id/input_setting_keys_dialog_title"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginTop="16dp"
         android:textSize="20sp"
         android:gravity="center_horizontal"
-        android:text="@string/bounce_keys_dialog_title"
         android:textColor="?android:attr/textColorPrimary"
         android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
     />
 
     <TextView
-        android:id="@+id/bounce_key_dialog_subtitle"
+        android:id="@+id/input_setting_keys_dialog_subtitle"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginHorizontal="26dp"
         android:layout_marginTop="8dp"
         android:textSize="16sp"
         android:gravity="center"
-        android:text="@string/bounce_keys_dialog_subtitle"
         android:textColor="?android:attr/textColorSecondary"
     />
 
     <RadioGroup
-        android:id="@+id/bounce_key_value_group"
+        android:id="@+id/input_setting_keys_value_group"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_marginStart="20dp"
         android:layout_marginTop="16dp">
 
         <RadioButton
-            android:id="@+id/bounce_key_value_200"
-            android:text="@string/bounce_keys_dialog_option_200"
+            android:id="@+id/input_setting_keys_value_200"
+            android:text="@string/input_setting_keys_dialog_option_200"
             android:paddingStart="12dp"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_gravity="start|center_vertical"
             android:background="@null"/>
         <RadioButton
-            android:id="@+id/bounce_key_value_400"
-            android:text="@string/bounce_keys_dialog_option_400"
+            android:id="@+id/input_setting_keys_value_400"
+            android:text="@string/input_setting_keys_dialog_option_400"
             android:paddingStart="12dp"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -70,8 +68,8 @@
             android:layout_marginTop="12dp"
             android:background="@null"/>
         <RadioButton
-            android:id="@+id/bounce_key_value_600"
-            android:text="@string/bounce_keys_dialog_option_600"
+            android:id="@+id/input_setting_keys_value_600"
+            android:text="@string/input_setting_keys_dialog_option_600"
             android:paddingStart="12dp"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
@@ -85,14 +83,14 @@
             android:layout_height="wrap_content"
             android:layout_marginVertical="12dp">
             <RadioButton
-                android:id="@+id/bounce_key_value_custom"
+                android:id="@+id/input_setting_keys_value_custom"
                 android:paddingStart="12dp"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_gravity="center_vertical"
                 android:background="@null"/>
             <LinearLayout
-                android:id="@+id/custom_value_option"
+                android:id="@+id/input_setting_keys_custom_value_option"
                 android:orientation="vertical"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
@@ -100,15 +98,15 @@
                 android:gravity="center_vertical"
                 android:paddingEnd="16dp">
                 <TextView
-                    android:id="@+id/bounce_key_value_custom_title"
-                    android:text="Custom"
+                    android:id="@+id/input_setting_keys_value_custom_title"
+                    android:text="@string/input_setting_keys_custom_title"
                     android:textColor="?android:attr/textColorPrimary"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center_vertical"/>
                 <TextView
-                    android:id="@+id/bounce_key_value_custom_value"
-                    android:text="custom value"
+                    android:id="@+id/input_setting_keys_value_custom_value"
+                    android:text="@string/input_setting_keys_custom_value"
                     android:textColor="?android:attr/textColorPrimary"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
@@ -116,7 +114,7 @@
                     android:layout_marginTop="8dp"
                     android:visibility="gone"/>
                 <SeekBar
-                    android:id="@+id/bounce_key_value_custom_slider"
+                    android:id="@+id/input_setting_keys_value_custom_slider"
                     android:paddingStart="8dp"
                     android:paddingEnd="36dp"
                     android:min="1"
diff --git a/res/layout/mouse_keys_image_item.xml b/res/layout/mouse_keys_image_item.xml
new file mode 100644
index 0000000..36b9992
--- /dev/null
+++ b/res/layout/mouse_keys_image_item.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<TextView xmlns:android="http://schemas.android.com/apk/res/android"
+          android:id="@+id/layout_description"
+          android:layout_width="match_parent"
+          android:layout_height="wrap_content"
+          android:layout_marginStart="16dp"
+          android:layout_marginEnd="20dp"
+          android:layout_marginBottom="20dp"
+          android:textAppearance="?android:attr/textAppearanceListItemSmall"
+          android:drawablePadding="8dp"/>
diff --git a/res/layout/mouse_keys_image_list.xml b/res/layout/mouse_keys_image_list.xml
new file mode 100644
index 0000000..f111736
--- /dev/null
+++ b/res/layout/mouse_keys_image_list.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright 2024 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.
+-->
+
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content">
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/mouse_keys_image_recycler_list"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:clipToPadding="true"
+        android:nestedScrollingEnabled="false"
+        android:padding="12dp"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        app:layout_constraintBottom_toBottomOf="parent"/>
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/res/layout/preference_credential_manager_with_buttons.xml b/res/layout/preference_credential_manager_with_buttons.xml
index 24096f7..e27bd50 100644
--- a/res/layout/preference_credential_manager_with_buttons.xml
+++ b/res/layout/preference_credential_manager_with_buttons.xml
@@ -18,6 +18,7 @@
 <!-- Based off preference_single_target.xml with buttons added below text. -->
 <LinearLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
@@ -95,18 +96,29 @@
         android:gravity="center"
         android:orientation="vertical" />
 
-    <LinearLayout
+    <androidx.constraintlayout.widget.ConstraintLayout
         android:id="@+id/credman_button_frame"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:gravity="start|center_vertical"
         android:minWidth="56dp"
-        android:orientation="horizontal"
         android:clipToPadding="false"
         android:paddingTop="4dp"
         android:paddingLeft="76dp"
         android:paddingBottom="4dp">
 
+        <androidx.constraintlayout.helper.widget.Flow
+            android:id="@+id/button_flow"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:constraint_referenced_ids="change_button, open_button"
+            app:flow_horizontalStyle="spread_inside"
+            app:flow_wrapMode="chain"
+            app:flow_verticalGap = "16dp"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
             <Button
                 android:id="@+id/change_button"
                 android:layout_width="match_parent"
@@ -122,6 +134,6 @@
                 android:visibility="gone"
                 android:text="@string/credman_button_open"/>
 
-    </LinearLayout>
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
 </LinearLayout>
\ No newline at end of file
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
index 4b51726..01f6f3a 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Sneeuvlokkie"</item>
     <item msgid="7952183800501346803">"Strandsambreel"</item>
     <item msgid="799139025758265891">"Werkswinkelgereedskap"</item>
-    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="8112685757657659269">"Klavier"</item>
     <item msgid="3861584909935022342">"Filmspoel"</item>
     <item msgid="5827426100157335512">"Boek"</item>
     <item msgid="8585828346253128384">"Egiptiese waterlelie"</item>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 56a239f..6d1bbe2 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Stel outomaties deur jou netwerk- en draadloosinstellings"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Outomatiese tydsone"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Stel outomaties op grond van mobiele netwerke naby jou"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Stel outomaties met jou toestelligging, indien beskikbaar. ’n Aktiewe wi-fi-verbinding kan vereis word."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Stel outomaties met jou toestelligging, indien beskikbaar"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Gebruik verstek vir locale"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Gebruik 24-uur-formaat"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Tyd"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Toeganklikheid"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fisiese sleutelbord"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Hopsleutels"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Die sleutelbord ignoreer vinnig herhaalde drukke van dieselfde sleutel"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Bonssleuteldrempel"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Kies vir hoe lank jou sleutelbord herhaalde sleuteldrukke ignoreer"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2s."</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4s."</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6s."</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Gepasmaak"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"gepasmaakte waarde"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Stadige sleutels"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Verstel die tyd wat dit neem vir ’n sleuteldruk om geaktiveer te word"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Taaisleutels"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Druk een sleutel op ’n slag vir kortpaaie pleks van om die sleutels saam in te hou"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Muissleutels"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Gebruik jou sleutelbord om die wyser te beheer"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Muis – omgekeerde rollees"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Rollees op om die bladsy af te beweeg"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Ruil linker- en regterknoppies om"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Gebruik die muis se linkerknoppie as jou regterknoppie"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Kortpadsleutels"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Wys lys met kortpaaie"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Werkprofielsleutelborde en -nutsgoed"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Kies ’n nuwe sleutel vir <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Toeganklikheid vir fisieke sleutelbord"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Taaisleutels, hopsleutels, muissleutels"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Herhaalsleutels"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Vertraging voor herhaling"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Herhaalkoers"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Hou ’n sleutel in om sy karakter te herhaal totdat die sleutel gelos word"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g>-uitleg"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Verstek"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Outomaties: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Voorskou"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standaardopsies"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Taal"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Onderskrifgrootte"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Onderskrifstyl"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Gepasmaakte opsies"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Agtergrondkleur"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Ontkoppel hierdie VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Ontkoppel"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Weergawe"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Weergawe <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Vergeet VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Vervang bestaande VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Stel altyd-aan VPN?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Soekinstellings"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontakte, berging, rekening"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Kontakte-berging"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Net toestel"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nuwe kontakte sal nie met ’n rekening gesinkroniseer word nie"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakte sal by verstek op jou toestel gestoor en met jou rekening gesinkroniseer word"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Geen verstek gestel nie"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Voeg ’n rekening by om te begin"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Omkring en Soek"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Raak en hou die Tuisknoppie of die navigasiehandvatsel om met gebruik van die inhoud op jou skerm te soek."</string>
 </resources>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index f2996ac..d0a748b 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"የበረዶ ቅንጣት"</item>
     <item msgid="7952183800501346803">"የባህር ዳርቻ ዣንጥላ"</item>
     <item msgid="799139025758265891">"የሥራ ቦታ መሣሪያዎች"</item>
-    <item msgid="1330084588359129896">"ድንኳን"</item>
+    <item msgid="8112685757657659269">"ፒያኖ"</item>
     <item msgid="3861584909935022342">"የፊልም ሪል"</item>
     <item msgid="5827426100157335512">"መጽሐፍ"</item>
     <item msgid="8585828346253128384">"የሎተስ አበባ"</item>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index fd47a2c..8fc92bf 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"አውታረ መረቡን እና ገመድ አልባ ምልክቶችን በመጠቀም በራስ-ሰር ያቀናብሩ"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ራስ-ሰር የሰዓት ሰቅ"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"በአቅራቢያዎ ባሉ የተንቀሳቃሽ ስልክ አውታረ መረቦች መሰረት በራስ-ሰር ያቀናብሩ"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"የሚገኝ ከሆነ የመሣሪያዎን አካባቢ በመጠቀም በራስ-ሰር ያቀናብሩ። እንዲሁም ንቁ የWifi ግንኙነት ሊያስፈልግ ይችላል።"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"የሚገኝ ከሆነ የመሣሪያዎን አካባቢ በመጠቀም በራስ-ሰር ያቀናብሩ"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"የቋንቋ ነባሪ ይጠቀሙ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 ሰዓት ቅርፀት ተጠቀም"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"ሰዓት"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ተደራሽነት"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"አካላዊ ቁልፍ ሰሌዳ"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"የመንጠሪያ ቁልፎች"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"ቁልፍ ሰሌዳው ተመሳሳዩ ቁልፍ በፍጥነት መጫኖችን ችላ ይላል"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"የወጡ ቁልፎች መባቻ"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"የቁልፍ ሰሌዳዎ ተደጋጋሚ የቁልፍ መጫኖችን ችላ የሚልበትን የቆይታ ጊዜ ይምረጡ"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2ሰ"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4ሰ"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6ሰ"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"ብጁ"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"ብጁ እሴት"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ቀርፋፋ ቁልፎች"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"የቁልፍ መጫኖችን ለማግበር የሚወስደውን ጊዜ ያስተካክላል"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ተጣባቂ ቁልፎች"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"አቋራጮችን ለማግኘት ቁልፎችን በአንድ ላይ ከመያዝ ይልቅ ቁልፎችን አንድ በአንድ ይጫኑ"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"የመዳፊት ቁልፎች"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"ነጥቦቹን ለመቆጣጠር የቁልፍ ሰሌዳዎን ይጠቀሙ"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"የመዳፊት ወደኋላ መሸብለል"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"ገፁን ወደ ታች ለማንቀሳቀስ ወደ ላይ ይሸብልሉ"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"የግራ እና የቀኝ አዝራሮችን ያለዋውጡ"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"የግራ የመዳፊት አዝራሩን እንደ የእርስዎ ቀኝ ይጠቀሙ"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"የቁልፍ ሰሌዳ አቋራጮች"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"የአቋራጭ ዝርዝርን አሳይ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"የሥራ መገለጫ የቁልፍ ሰሌዳዎች እና መሣሪያዎች"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"ለ<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> አዲስ ቁልፍ ይምረጡ፦"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"የአካላዊ ቁልፍ ሰሌዳ ተደራሽነት"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ተለጣፊ ቁልፎች፣ አንጥር ቁልፎች፣ የመዳፊት ቁልፎች"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"የሚደጋገሙ አዝራሮች"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"ከመድገም በፊት አዘግይ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"የድግግሞሽ ፍጥነት"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"አንድ አዝራር እስከሚለቀቅ ድረስ ቁምፊውን ለመደጋገም አዝራሩን ተጭነው ይያዙ"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"የ<xliff:g id="IME_LABEL">%s</xliff:g> አቀማመጥ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ነባሪ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ራስ-ሰር፦ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"ቅድመ-ዕይታ"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"መደበኛ አማራጮች"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ቋንቋ"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"የመግለጫ ጽሁፍ መጠን"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"የመግለጫ ጽሁፍ ቅጥ"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"ብጁ አማራጮች"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"የጀርባ ቀለም"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"የዚህ ቪፒኤን ግንኙነት ይቋረጥ?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ግንኙነት አቋርጥ"</string>
     <string name="vpn_version" msgid="6344167191984400976">"ስሪት"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"ሥሪት <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPNን እርሳ"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"አሁን ያለው VPN ይተካ?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"ሁልጊዜ-የበራ VPN ይቀናበር?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"ቅንብሮች ውስጥ ይፈልጉ"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"ዕውቂያዎች፣ ማከማቻ፣ መለያ"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"የዕውቂያዎች ማከማቻ"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"መሣሪያ ብቻ"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"አዳዲስ ዕውቂያዎች በመለያ አይሰምሩም"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"ዕውቂያዎች ወደ መሣሪያዎ ይቀመጣሉ እና በነባሪ ከመለያዎ ጋር ይሰምራሉ"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"ምንም ነባሪ አልተቀናበረም"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"ለመጀመር መለያ ያክሉ"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"ለመፈለግ ክበብ"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"በማያ ገፅዎ ላይ ያለውን ይዘት በመጠቀም ለመፈለግ የመነሻ አዝራሩን ወይም የአሰሳ መያዣውን ይንኩ እና ይያዙ።"</string>
 </resources>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index 5f924b2..11636c3 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"ندفة ثلج"</item>
     <item msgid="7952183800501346803">"مظلة شاطئ"</item>
     <item msgid="799139025758265891">"أدوات ورشة عمل"</item>
-    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="8112685757657659269">"بيانو"</item>
     <item msgid="3861584909935022342">"بكرة فيلم"</item>
     <item msgid="5827426100157335512">"كتاب"</item>
     <item msgid="8585828346253128384">"زهرة لوتس"</item>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 5365903..6ea25eb 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"ضبط التاريخ والوقت تلقائيًا باستخدام إشارة الشبكة والإشارة اللاسلكية"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"المنطقة الزمنية التلقائية"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"ضبط التاريخ والوقت تلقائيًا استنادًا إلى شبكات الجوّال القريبة منك"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"‏يمكن ضبط التاريخ والوقت تلقائيًا باستخدام الموقع الجغرافي لجهازك، إذا كان متاحًا. وقد يُطلَب الاتصال بشبكة Wi-Fi نشِطة."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"يمكن ضبط التاريخ والوقت تلقائيًا باستخدام الموقع الجغرافي لجهازك، إذا كان متاحًا"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"استخدام التنسيق التلقائي المحلي"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"استخدام تنسيق ٢٤ ساعة"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"الوقت"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"تتجاهل لوحة المفاتيح الضغطات المتكررة بسرعة على المفتاح نفسه"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"حدّ تجاهُل النقرات المتكرّرة"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"اختَر المدة الزمنية التي تتجاهل فيها لوحة المفاتيح الضغطات المتكرّرة على المفاتيح"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"‫0.2 ثانية"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"‫0.4 ثانية"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"‫0.6 ثانية"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"‫0.2 ثانية"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"‫0.4 ثانية"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"‫0.6 ثانية"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"مخصّصة"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"قيمة مخصّصة"</string>
     <string name="slow_keys" msgid="2891452895499690837">"المفاتيح البطيئة"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"تضبط هذه الميزة المهلة قبل أن يعمل المفتاح عند الضغط عليه"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"تثبيت المفاتيح"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"اضغط على مفتاح واحد في كل مرة للحصول على الاختصارات بدلاً من الضغط باستمرار على المفاتيح معًا"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"مفاتيح الماوس"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"يمكنك استخدام لوحة المفاتيح للتحكّم في المؤشر"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"الانتقال العكسي عبر الماوس"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"يمكنك الانتقال للأعلى لتحريك محتوى الصفحة للأسفل"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"تبديل الزرَّين الأيمن والأيسر"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"يمكنك استخدام زر الماوس الأيسر كزر الماوس الأيمن"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"اختصارات لوحة المفاتيح"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"إظهار قائمة الاختصارات"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"لوحات مفاتيح وأدوات ملف العمل"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"اختيار مفتاح جديد لـ \"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>\":"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"تسهيل استخدام لوحة المفاتيح الخارجية"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ميزة \"تثبيت المفاتيح\" وميزة \"تجاهُل النقرات المتكرّرة\" ومفاتيح الماوس"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"تكرار الحرف الذي يكتبه المفتاح"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"مدة التأخير قبل التكرار"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"معدّل التكرار"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"اضغط مع الاستمرار على أحد المفاتيح لتكرار الحرف الذي يكتبه هذا المفتاح إلى أن ترفع إصبعك عنه"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"التنسيق <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"تلقائي"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"تلقائي: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"معاينة"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"خيارات عادية"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"اللغة"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"حجم نص الترجمة والشرح"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"نمط الشرح"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"خيارات مخصصة"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"لون الخلفية"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"‏هل تريد قطع الاتصال بهذه شبكة VPN؟"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"قطع الاتصال"</string>
     <string name="vpn_version" msgid="6344167191984400976">"الإصدار"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"الإصدار <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"‏نسيان شبكة VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"‏هل تريد استبدال شبكة VPN الحالية؟"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"‏هل تريد تشغيل شبكة VPN باستمرار؟"</string>
@@ -5461,6 +5467,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"الجهاز فقط"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"لن تتم مزامنة جهات الاتصال الجديدة مع أحد الحسابات"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"سيتم حفظ جهات الاتصال على جهازك ومزامَنتها مع حسابك تلقائيًا"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"لم يتم ضبط حساب تلقائي"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"يُرجى إضافة حساب للبدء"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"دائرة البحث"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"انقر مع الاستمرار على زر الشاشة الرئيسية أو مؤشر التنقُّل للبحث باستخدام المحتوى الذي يظهر على شاشتك."</string>
 </resources>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index bddefce..992508f 100644
--- a/res/values-as/arrays.xml
+++ b/res/values-as/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"তুষাৰ কণিকা"</item>
     <item msgid="7952183800501346803">"সমুদ্ৰতীৰৰ ছাতি"</item>
     <item msgid="799139025758265891">"কৰ্মশালাৰ সঁজুলি"</item>
-    <item msgid="1330084588359129896">"তম্বু"</item>
+    <item msgid="8112685757657659269">"পিয়ান’"</item>
     <item msgid="3861584909935022342">"ফিল্মৰ ৰীল"</item>
     <item msgid="5827426100157335512">"কিতাপ"</item>
     <item msgid="8585828346253128384">"পদুম ফুল"</item>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index a0ded4d..a595e4a 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"আপোনাৰ নেটৱৰ্ক আৰু বেতাঁৰ ছিগনেল ব্যৱহাৰ কৰি স্বয়ংক্ৰিয়ভাৱে ছেট কৰক"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"স্বয়ংক্ৰিয় সময় মণ্ডল"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"আপোনাৰ নিকটৱৰ্তী ম’বাইল নেটৱৰ্ক অনুযায়ী স্বয়ংক্ৰিয়ভাৱে ছেট কৰক"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"উপলব্ধ হ’লে আপোনাৰ ডিভাইচৰ অৱস্থান ব্যৱহাৰ কৰি স্বয়ংক্ৰিয়ভাৱে ছেট কৰক। সক্ৰিয় ৱাইফাই সংযোগৰ প্ৰয়োজন হ’ব পাৰে।"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"উপলব্ধ হ’লে আপোনাৰ ডিভাইচৰ অৱস্থান ব্যৱহাৰ কৰি স্বয়ংক্ৰিয়ভাৱে ছেট কৰক"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"স্থানীয় ডিফ’ল্ট ব্যৱহাৰ কৰক"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"২৪ ঘণ্টীয়া সজ্জা ব্যৱহাৰ কৰক"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"সময়"</string>
@@ -1949,15 +1949,26 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"কীব’ৰ্ডে একেটা কী ক্ষিপ্ৰতাৰে বাবে বাৰে টিপাটো আওকাণ কৰে"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"বাউন্স কীৰ সীমা"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"সেই সময় অৱধি বাছনি কৰক যেতিয়া আপোনাৰ কীব’ৰ্ডে বাৰে বাৰে কী টিপাটো আওকাণ কৰে"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"০.২ ছেকেণ্ড"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"০.৪ ছেকেণ্ড"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"০.৬ ছেকেণ্ড"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
+    <skip />
     <string name="slow_keys" msgid="2891452895499690837">"ধীৰ গতিৰ কী"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"সক্ৰিয় কৰিবলৈ এটা কী টিপাৰ বাবে লগা সময় মিলায়"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ষ্টিকী কী"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"একেলগে কীসমূহ টিপি ধৰি থকাৰ সলনি শ্বৰ্টকাটৰ বাবে এবাৰত এটা কী টিপক"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"মাউছ কীসমূহ"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"পইণ্টাৰ নিয়ন্ত্ৰণ কৰিবলৈ আপোনাৰ কীব’ৰ্ড ব্যৱহাৰ কৰক"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"মাউছ ওলোটাকৈ স্ক্ৰ’ল কৰাৰ সুবিধা"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"পৃষ্ঠাটো তললৈ নিবলৈ ওপৰলৈ স্ক্ৰ’ল কৰক"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"বাওঁ আৰু সোঁফালৰ বুটাম সলনা-সলনি কৰক"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"মাউছৰ বাওঁফালৰ বুটামটো আপোনাৰ সোঁফালৰ হিচাপে ব্যৱহাৰ কৰক"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"কীব’ৰ্ডৰ শ্বৰ্টকাটসমূহ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"শ্বৰ্টকাটৰ সূচী দেখুৱাওক"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"কৰ্মস্থানৰ প্ৰ’ফাইল আৰু সঁজুলি"</string>
@@ -2026,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>ৰ বাবে এটা নতুন চাবি বাছনি কৰক:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"কায়িক কীব’ৰ্ডৰ সাধ্য সুবিধা"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ষ্টিকী কী, বাউন্স কী, মাউছ কী"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"কী পুনৰাবৃত্তি কৰক"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"পুনৰাবৃত্তিৰ পূৰ্বে হোৱা বিলম্ব"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"পুনৰাবৃত্তিৰ হাৰ"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"কীটো এৰি নিদিয়ালৈকে কোনো কীৰ বৰ্ণটো পুনৰাবৃত্তি কৰিবলৈ সেই কীটো টিপি ধৰক"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> লে’আউট"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ডিফ\'ল্ট"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"স্বয়ংক্ৰিয়: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"পূৰ্বদৰ্শন"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"মান্য বিকল্পসমূহ"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ভাষা"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"কেপশ্বনৰ আকাৰ"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"কেপশ্বন শৈলী"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"কাষ্টম বিকল্পসমূহ"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"বেকগ্ৰাউণ্ডৰ ৰং"</string>
@@ -2979,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"এই ভিপিএনটোৰ সৈতে সংযোগ বিচ্ছিন্ন কৰিবনে?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"সংযোগ বিচ্ছিন্ন কৰক"</string>
     <string name="vpn_version" msgid="6344167191984400976">"সংস্কৰণ"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"সংস্কৰণ <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"ভিপিএন পাহৰক"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"পূৰ্বৰ ভিপিএনটো সলনি কৰেনে?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"ভিপিএনক যিকোনো সময়ত অন থকা অবস্থাত ছেট কৰিবনে?"</string>
@@ -5457,6 +5468,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"ডিভাইচ মাত্ৰ"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"নতুন সম্পৰ্কসমূহ একাউণ্টৰ সৈতে ছিংক কৰা নহ’ব"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"সম্পৰ্কসমূহ আপোনাৰ ডিভাইচত ছেভ কৰা হ’ব আৰু ডিফ’ল্টভাৱে আপোনাৰ একাউণ্টত ছিংক কৰা হ’ব"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"কোনো ডিফ\'ল্ট ছেট কৰা হোৱা নাই"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"আৰম্ভ কৰিবলৈ এটা একাউণ্ট যোগ দিয়ক"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"সন্ধান কৰিবৰ বাবে বৃত্ত"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"আপোনাৰ স্ক্ৰীনত থকা সমলটো ব্যৱহাৰ কৰি সন্ধান কৰিবলৈ গৃহ বুটামটো বা নেভিগেশ্বন হেণ্ডেল স্পৰ্শ কৰি ধৰি ৰাখক।"</string>
 </resources>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index e035d4e..6293141 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Qar uçqunu"</item>
     <item msgid="7952183800501346803">"Çimərlik çətiri"</item>
     <item msgid="799139025758265891">"Emalatxana alətləri"</item>
-    <item msgid="1330084588359129896">"Çadır"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Kinolent"</item>
     <item msgid="5827426100157335512">"Kitab"</item>
     <item msgid="8585828346253128384">"Lotus çiçəyi"</item>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index b2bc577..883c191 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Şəbəkə və simsiz siqnallarınızdan istifadə edərək avtomatik təyin edin"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Avtomatik saat qurşağı"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Yaxınlıqdakı mobil şəbəkələrə əsasən avtomatik təyin edin"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Mümkünsə, cihaz məkanı vasitəsilə avtomatik təyin edin. Aktiv Wi-Fi bağlantısı da tələb oluna bilər."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Mümkünsə, cihaz məkanı vasitəsilə avtomatik təyin edin"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Regional defolt ayarlar tətbiq olunsun"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 saat formatından istifadə et"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Vaxt"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Əlçatımlıq"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fiziki klaviatura"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Sıçrama düymələri"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Klaviatura eyni düymənin təkrarən basılmasını nəzərə almır"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Sıçrayan klaviş üzrə hədd"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Klaviaturanızın təkrarlanan düymə basılmalarını nəzərə almayacağı müddəti seçin"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Fərdi"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"fərdi qiymət"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Asta düymələr"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Düyməyə basmağın aktivləşdirilməsi üçün tələb olunan vaxtı tənzimləyir"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Əvəzedici düymələr"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Qısayollar üçün düymələri birlikdə basıb saxlamaq əvəzinə hər dəfə bir düyməyə basın"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Maus düymələri"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Poynteri idarə etmək üçün klaviaturadan istifadə edin"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Mausun geri sürüşdürülməsi"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Səhifəni aşağı hərəkət etdirmək üçün yuxarı sürüşdürün"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Sol və sağ düymələri dəyişin"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Mausun sol düyməsini sağ kimi istifadə edin"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klaviatura qısayolları"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Qısayolların siyahısını göstərin"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"İş profili klaviaturaları və alətlər"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> üçün yeni açar seçin:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Fiziki klaviatura əlçatanlığı"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Əvəzedici düymələr, sıçrama düymələri, maus düymələri"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Düymələri təkrarlayın"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Təkrardan əvvəlki gecikmə"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Təkrar sürəti"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Düymə buraxılana qədər simvolu təkrarlamaq üçün düyməni basıb saxlayın"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> düzəni"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Defolt"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Avtomatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Önizləmə"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standart seçimlər"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Dil"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Subtitr ölçüsü"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Subtitr üslubu"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Fərdi seçimlər"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Arxa plan rəngi"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Bu VPN bağlantısı kəsilsin?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Bağlantını kəsin"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versiya"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versiya <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN\'i unudun"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Mövcud VPN əvəz edilsin?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Hər zaman aktiv VPN quraşdırılsın?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Axtarış Ayarları"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontaktlar, yaddaş, hesab"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Kontakt yaddaşı"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Yalnız cihaz"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Yeni kontaktlar hesab ilə sinxronlaşdırılmayacaq"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontaktlar cihazınızda saxlanılacaq və defolt olaraq hesabınız ilə sinxronlaşdırılacaq"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Defolt ayarlanmayıb"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Başlamaq üçün hesab əlavə edin"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Dairəyə alaraq axtarın"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Ekrandakı kontentdən istifadə edərək axtarış etmək üçün Əsas ekran düyməsinə və ya naviqasiya tutacağına basıb saxlayın."</string>
 </resources>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index 9536100..0a97d19 100644
--- a/res/values-b+sr+Latn/arrays.xml
+++ b/res/values-b+sr+Latn/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Pahulja"</item>
     <item msgid="7952183800501346803">"Suncobran"</item>
     <item msgid="799139025758265891">"Alat iz radionice"</item>
-    <item msgid="1330084588359129896">"Šator"</item>
+    <item msgid="8112685757657659269">"Klavir"</item>
     <item msgid="3861584909935022342">"Rolna filma"</item>
     <item msgid="5827426100157335512">"Knjiga"</item>
     <item msgid="8585828346253128384">"Cvet lotosa"</item>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index a66625c..5594267 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Automatsko podešavanje pomoću mreže i bežičnih signala"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatska vremenska zona"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Automatsko podešavanje na osnovu mobilnih mreža u blizini"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Automatsko podešavanje pomoću lokacije uređaja, ako je dostupna. Možda je potrebna i aktivna WiFi veza."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Automatsko podešavanje pomoću lokacije uređaja, ako je dostupna"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Koristi podrazumevanu vrednost za lokalitet"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Koristi 24-časovni format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Vreme"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Tastatura zanemaruje brze pritiske istog tastera koji se ponavljaju"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Prag za duži odziv tastera"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Odaberite koliko dugo tastatura zanemaruje ponavljane pritiske tastera"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 sek"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 sek"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 sek"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 sek"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 sek"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 sek"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Prilagođeno"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"prilagođena vrednost"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Spori tasteri"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Prilagodite vreme za aktiviranje tastera posle pritiska"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Lepljivi tasteri"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pritiskajte jedan po jedan taster da biste koristili prečice umesto da istovremeno držite tastere"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Tasteri miša"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Kontrolišite pokazivač pomoću tastature"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Obrnuto skrolovanje mišem"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Skrolujte nagore da biste pomerili stranicu nadole"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Zamenite dugmad nalevo i nadesno"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Koristite levi taster miša kao desni"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tasterske prečice"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Prikazuje listu prečica"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastature i alatke za poslovni profil"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Odaberite novi taster za <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Pristupačnost fizičke tastature"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Lepljivi tasteri, duži odziv tastera, tasteri miša"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Ponavljanje tastera"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Odlaganje pre ponavljanja"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Brzina ponavljanja"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Pritisnite i zadržite taster da biste ponavljali unos znaka sve dok ne pustite taster"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Raspored <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Podrazumevano"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatski: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Pregled"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardne opcije"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Jezik"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Veličina titla"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Stil titla"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Prilagođene opcije"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Boja pozadine"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Želite li da prekinete vezu sa ovim VPN-om?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Prekini vezu"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Verzija"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Verzija <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Zaboravi VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Želite li da zamenite postojeći VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Želite li da podesite uvek uključeni VPN?"</string>
@@ -5458,6 +5464,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Samo uređaj"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Novi kontakti se neće sinhronizovati sa nalogom"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakti se podrazumevano čuvaju na uređaju i sinhronizuju sa nalogom"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nije podešen podrazumevani nalog"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Dodajte nalog da biste započeli"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Pretraga zaokruživanjem"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Dodirnite i zadržite dugme Početak ili marker za kretanje da biste pretraživali pomoću sadržaja na ekranu."</string>
 </resources>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index ab14c2b..932a172 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Сняжынка"</item>
     <item msgid="7952183800501346803">"Пляжны парасон"</item>
     <item msgid="799139025758265891">"Інструменты майстэрні"</item>
-    <item msgid="1330084588359129896">"Палатка"</item>
+    <item msgid="8112685757657659269">"Піяніна"</item>
     <item msgid="3861584909935022342">"Кінаплёнка"</item>
     <item msgid="5827426100157335512">"Кніга"</item>
     <item msgid="8585828346253128384">"Кветка лотаса"</item>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 4b6de65..5a2af18 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Задаваць аўтаматычна, выкарыстоўваючы сігналы сеткі і бесправадныя сігналы прылады"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Аўтавызначэнне часавага пояса"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Задаваць аўтаматычна па даных бліжэйшых мабільных сетак"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Задаваць аўтаматычна па месцазнаходжанню прылады, калі яно вызначаецца. Можа спатрэбіцца актыўнае падключэнне да Wi-Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Задаваць аўтаматычна па месцазнаходжанні прылады, калі яно вызначаецца"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Выкарыстоўваць стандартныя рэгіянальныя налады"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Выкарыстоўваць 24-гадзінны фармат"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Час"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Спецыяльныя магчымасці"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Фізічная клавіятура"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Ігнараванне паўторнага націскання"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Хуткія паўторныя націсканні адной і той жа клавішы ігнаруюцца"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Ігнараванне паўторнага націскання"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Выберыце час, на працягу якога паўторныя націсканні адной і той жа клавішы будуць ігнаравацца"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 с"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 с"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 с"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Карыстальніцкае значэнне"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"карыстальніцкае значэнне"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Запавольванне рэакцыі на націсканне"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Адрэгулюйце час, неабходны для актывацыі націскання клавішы"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Заліпанне клавіш"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Замест таго каб утрымліваць усе клавішы са спалучэння, націскайце іх па адной"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Кнопкі мышы"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Выкарыстоўвайце клавіятуру, каб кіраваць паказальнікам"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Адваротная прагортка мышшу"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Калі прагортваць уверх, старонка будзе перамяшчацца ўніз"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Замена месцамі функцый левай і правай кнопак"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Прызначце для левай кнопкі мышы функцыі правай"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Гарачыя клавішы"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Паказаць спіс спалучэнняў клавіш"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Клавіятуры і інструменты працоўнага профілю"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Выберыце новы ключ для \"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>\":"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Спецыяльныя магчымасці з выкарыстаннем фізічнай клавіятуры"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Заліпанне клавіш, ігнараванне паўторнага націскання, клавішы мышы"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Паўторны ўвод сімвала"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Затрымка перад паўторам"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Частата паўтораў"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Паўтараць увод сімвала, пакуль клавіша націснута"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Раскладка \"<xliff:g id="IME_LABEL">%s</xliff:g>\""</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Стандартная"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Аўтаматычна: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Перадпрагляд"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Стандартныя опцыі"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Мова"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Памер субцітраў"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Стыль субцітраў"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Карыстальніцкія параметры"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Колер фону"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Адключыць гэту VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Адключыць"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Версія"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Версія <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Забыць VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Замяніць існуючую VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Наладзіць заўсёды ўключаную VPN?"</string>
@@ -5464,13 +5462,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Шукаць у наладах"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"кантакты, сховішча, уліковы запіс"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Сховішча кантактаў"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Толькі прылада"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Новыя кантакты не будуць сінхранізавацца з уліковым запісам"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Кантакты будуць стандартна захоўвацца на прыладзе і сінхранізавацца з уліковым запісам"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Стандарт не вызначаны"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Каб пачаць, дадайце ўліковы запіс"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Абвесці для пошуку"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Каб запусціць пошук з выкарыстаннем змесціва экрана, націсніце і ўтрымлівайце кнопку галоўнага экрана або маркер навігацыі."</string>
 </resources>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index 631450e..b736ea3 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Снежинка"</item>
     <item msgid="7952183800501346803">"Плажен чадър"</item>
     <item msgid="799139025758265891">"Инструменти за работилница"</item>
-    <item msgid="1330084588359129896">"Палатка"</item>
+    <item msgid="8112685757657659269">"Пиано"</item>
     <item msgid="3861584909935022342">"Филмов видеоколаж"</item>
     <item msgid="5827426100157335512">"Книга"</item>
     <item msgid="8585828346253128384">"Лотос"</item>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index d3ddd40..659e3d7 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Автоматично задаване чрез мрежата и безжичните сигнали"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Автоматична часова зона"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Автоматично задаване въз основа на мобилните мрежи в близост до вас"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Авт. задаване чрез местоп. на у-вото ви, ако е налице. Може да се изисква и активна връзка с Wi-Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Автоматично задаване чрез местоположението на устройството ви, ако е налице"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Използване на стандартния формат за локала"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-часов формат"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Час"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Достъпност"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Физическа клавиатура"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Игнориране на многократ. натискане"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Клавиатурата игнорира бързите повтарящи се натискания на един и същ клавиш"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Игнор. на многокр. натискане (праг)"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Изберете периода от време, през който клавиатурата ви ще игнорира повтарящите се натискания на даден клавиш"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 сек"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 сек"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 сек"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Персонализирано"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"персонализирана стойност"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Забавяне на сигнала от клавишите"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Коригира времето, необходимо за активиране след натискане на даден клавиш"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Фиксирани клавиши"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Натискайте клавишите от съответните комбинации един по един, вместо да ги задържате заедно"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Бутони на мишката"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Използвайте клавиатурата, за да управлявате курсора"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Обратно превъртане с мишката"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Превъртете нагоре, за да преместите страницата надолу"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Размяна на левия и десния бутон"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Използвайте левия бутон на мишката като десен"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Клавишни комбинации"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Показване на списък с клавишните комбинации"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Клавиатури и инструменти за служебния потр. профил"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Изберете нов ключ за <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Достъпност чрез физическата клавиатура"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Фиксирани клавиши, игнориране на многократни натискания, бутони на мишката"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Повтаряне на клавишите"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Забавяне преди повтаряне"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Честота на повторение"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Задържане на клавиш с цел повтаряне на съответния знак, докато клавишът не бъде пуснат"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Подредба: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"По подразбиране"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматично: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Визуализация"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Стандартни опции"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Език"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Размер на надписите"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Стил на надписите"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Персонализирани опции"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Цвят на фона"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Да се прекрати ли връзката с тази виртуална частна мрежа (VPN)?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Прекратяване на връзката"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Версия"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Версия <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Забравяне на вирт. частна мрежа (VPN)"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Да се замени ли съществуващата VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Да се зададе ли винаги включена виртуална частна мрежа (VPN)?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Търсене в настройките"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"контакти, хранилище, профил"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Хранилище на контакти"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Само на устройството"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Новите контакти няма да се синхронизират с профил"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"По подразбиране контактите ще се запазват на устройството ви и ще се синхронизират с профила ви"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Няма профил по подразбиране"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"За да започнете, добавете профил"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Търсене с ограждане"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Докоснете и задръжте бутона „Начало“ или манипулатора за навигация, за да потърсите съдържанието на екрана."</string>
 </resources>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index 5b14f56..d260c02 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"বরফের কণা"</item>
     <item msgid="7952183800501346803">"বিচ আমব্রেলা"</item>
     <item msgid="799139025758265891">"ওয়ার্কশপ টুল"</item>
-    <item msgid="1330084588359129896">"তাঁবু"</item>
+    <item msgid="8112685757657659269">"পিয়ানো"</item>
     <item msgid="3861584909935022342">"ফিল্ম রিল"</item>
     <item msgid="5827426100157335512">"বই"</item>
     <item msgid="8585828346253128384">"পদ্ম ফুল"</item>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 042aac7..2483e1f 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"আপনার নেটওয়ার্ক ও ওয়্যারলেস সিগন্যাল ব্যবহার করে অটোমেটিক সেট করুন"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"অটোমেটিক টাইম জোন"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"আপনার কাছাকাছি মোবাইল নেটওয়ার্কের উপর নির্ভর করে অটোমেটিক সেট করুন"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"উপলভ্য থাকলে, আপনার ডিভাইসের লোকেশন ব্যবহার করে অটোমেটিক সেট করুন। চালু থাকা একটি ওয়াই-ফাই কানেকশনও প্রয়োজন হতে পারে।"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"উপলভ্য থাকলে, আপনার ডিভাইসের লোকেশন ব্যবহার করে অটোমেটিক সেট করুন"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"লোকেল ডিফল্ট ব্যবহার করুন"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"২৪ ঘন্টার ফর্ম্যাট ব্যবহার করুন"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"সময়"</string>
@@ -1949,15 +1949,26 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"একই \'কী\' দ্রুত বারবার প্রেস করলে কীবোর্ড তা উপেক্ষা করে"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"বাউন্স কী থ্রেশহোল্ড"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"আপনার কীবোর্ড কতক্ষণ পর্যন্ত কোনও একটি \'কী\' বারবার প্রেস করার ঘটনাকে উপেক্ষা করে সেই সময়সীমা বেছে নিন"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"০.২ সেকেন্ড"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"০.৪ সেকেন্ড"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"০.৬ সেকেন্ড"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
+    <skip />
     <string name="slow_keys" msgid="2891452895499690837">"স্লো \'কী\'"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"কোনও কী প্রেস করলে সেটি অ্যাক্টিভেট হতে যে সময় লাগে তা অ্যাডজাস্ট করে নেয়"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"স্টিকি \'কী\'"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"শর্টকাটের জন্য কীগুলি একসাথে ধরে রাখার পরিবর্তে একবারে একটি কী প্রেস করুন"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"মাউস \'কী\'"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"পয়েন্টার নিয়ন্ত্রণ করতে আপনার কীবোর্ড ব্যবহার করুন"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"মাউস উল্টো দিকে স্ক্রল করা"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"পৃষ্ঠা নিচের দিকে নামাতে উপরের দিকে স্ক্রল করুন"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"বাঁদিক ও ডানদিকের বোতাম অদলবদল করুন"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"মাউসের বাঁদিকের বোতামটিকে ডানদিকের বোতাম হিসেবে ব্যবহার করুন"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"কীবোর্ড শর্টকাট"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"শর্টকাটের তালিকা দেখান"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"অফিসের প্রোফাইলের কীবোর্ড ও টুল"</string>
@@ -2026,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>-এর জন্য নতুন \'কী\' বেছে নিন:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ফিজিক্যাল কীবোর্ডের অ্যাক্সেসিবিলিটি"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"স্টিকি কী, বাউন্স কী, মাউস কী"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"\'কী\' রিপিট করুন"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"রিপিট হওয়ার আগে বিলম্ব"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"রিপিটের হার"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"\'কী\' রিলিজ না হওয়া পর্যন্ত কোনও \'কী\'-এর অক্ষর রিপিট করতে সেই \'কী\' প্রেস করে ধরে থাকুন"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> লেআউট"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ডিফল্ট"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"অটোমেটিক: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"প্রিভিউ"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"মানক বিকল্পগুলি"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ভাষা"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"ক্যাপশনের সাইজ"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"ক্যাপশনের স্টাইল"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"কাস্টম বিকল্পগুলি"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"পশ্চাদপটের রঙ"</string>
@@ -2979,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"এই VPN থেকে ডিসকানেক্ট করবেন?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ডিসকানেক্ট করুন"</string>
     <string name="vpn_version" msgid="6344167191984400976">"ভার্সন"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"ভার্সন <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN সরিয়ে দিন"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"বিদ্যমান VPN প্রতিস্থাপন করতে চান?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"সর্বদা-চালু VPN সেট করতে চান?"</string>
@@ -5457,6 +5468,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"শুধুমাত্র ডিভাইস"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"অ্যাকাউন্টের সাথে নতুন পরিচিতি সিঙ্ক হবে না"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"সাধারণত, পরিচিতি আপনার ডিভাইসে সেভ হবে এবং আপনার অ্যাকাউন্টের সাথে সিঙ্ক হবে"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"কোনও ডিফল্ট অ্যাকাউন্ট সেট করা নেই"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"শুরু করতে একটি অ্যাকাউন্ট যোগ করুন"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"খোঁজার জন্য সার্কেল বানান"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"আপনার স্ক্রিনে কন্টেন্ট ব্যবহার করে সার্চ করতে হোম বোতাম বা নেভিগেশন হ্যান্ডেল টাচ করে ধরে রাখুন।"</string>
 </resources>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index 6b5a498..7fc43fb 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Pahuljica"</item>
     <item msgid="7952183800501346803">"Suncobran"</item>
     <item msgid="799139025758265891">"Alati radionice"</item>
-    <item msgid="1330084588359129896">"Šator"</item>
+    <item msgid="8112685757657659269">"Klavir"</item>
     <item msgid="3861584909935022342">"Filmska traka"</item>
     <item msgid="5827426100157335512">"Knjiga"</item>
     <item msgid="8585828346253128384">"Cvijet lotosa"</item>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 4d34680..1bf4f13 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Automatsko postavljanje putem mreže i bežičnih signala"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatska vremenska zona"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Automatsko postavljanje na osnovu mobilnih mreža u blizini"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Automatsko postavljanje putem lokacije uređaja, ako je dostupna. Može biti potrebna i WiFi veza."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Automatsko postavljanje putem lokacije uređaja, ako je dostupna"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Koristi zadani format jezika/zemlje"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Koristi 24-satni format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Vrijeme"</string>
@@ -1946,18 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Pristupačnost"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizička tastatura"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Slučajni pritisci tipki"</string>
-    <string name="bounce_keys_summary" msgid="7418024428905737729">"Tipkovnica zanemaruje brzo ponovljene pritiske iste tipke"</string>
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Tastatura zanemaruje brzo ponavljane pritiske iste tipke"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Prag zanemarivanja slučajnih pritisaka"</string>
-    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Odaberite koliko dugo će tipkovnica zanemarivati ponovljene pritiske tipki"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 s"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Odaberite vrijeme u kojem će tastatura zanemarivati ponovljene pritiske tipki"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Prilagođeno"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"prilagođena vrijednost"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Sporo reagiranje tipki"</string>
-    <string name="slow_keys_summary" msgid="2914214326648535377">"Prilagođava vrijeme potrebno za aktivaciju pritiska tipke"</string>
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Podešava vrijeme potrebno za aktiviranje pritiskanja tipke"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Ljepljive tipke"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Za prečice pritišćite jednu po jednu tipku umjesto da ih istovremeno zadržavate"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Tipke miša"</string>
-    <string name="mouse_keys_summary" msgid="7030731235143286467">"Upravljajte pokazivačem pomoću tipkovnice"</string>
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Koristite tastaturu da upravljate pokazivačem"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Obrnuto klizanje mišem"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Kliznite nagore da pomjerite stranicu nadolje"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Zamijeni lijevo i desno dugme"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Koristite lijevo dugme miša kao desno dugme"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Prečice tastature"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Prikaz liste prečica"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastatura i alati radnog profila"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Odaberite novu tipku za \"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>\":"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Pristupačnost fizičke tastature"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Ljepljive tipke, tipke s dužim odzivom i tipke miša"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Ponavljaj tipke"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Odgodi prije ponavljanja"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Brzina ponavljanja"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Zadržite tipku da ponavljate njen znak dok ne pustite tipku"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Raspored: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Zadano"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatski: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Pregled"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardne opcije"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Jezik"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Veličina titlova"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Stil titlova"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Prilagođene opcije"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Boja pozadine"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Želite li prekinuti vezu s ovim VPN-om?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Prekini vezu"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Verzija"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Verzija <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Zaboravi VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Želite li zamijeniti postojeći VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Želite li postaviti uvijek uključen VPN?"</string>
@@ -5456,8 +5462,15 @@
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontakti, pohrana, račun"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Pohrana za kontakte"</string>
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Samo uređaj"</string>
-    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Novi kontakti neće se sinkronizirati s računom"</string>
-    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakti će se spremiti na vaš uređaj i prema zadanim postavkama sinkronizirati s vašim računom"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Zadani račun nije postavljen"</string>
-    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Dodajte račun da biste započeli"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Novi kontakti se neće sinhronizirati s računom"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakti će se sačuvati na uređaj i sinhronizirati s računom prema zadanim postavkama"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Dodajte račun da započnete"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Pretraživanje zaokruživanjem"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Dodirnite i zadržite dugme za početnu stranicu ili ručicu za navigaciju da pretražujete pomoću sadržaja na ekranu."</string>
 </resources>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index 9bfaf64..a3c9cef 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Floc de neu"</item>
     <item msgid="7952183800501346803">"Para-sol"</item>
     <item msgid="799139025758265891">"Eines d\'un taller"</item>
-    <item msgid="1330084588359129896">"Tenda de campanya"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Rodet de pel·lícula"</item>
     <item msgid="5827426100157335512">"Llibre"</item>
     <item msgid="8585828346253128384">"Flor de lotus"</item>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index c81d720..3a3f142 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Estableix automàticament amb la xarxa i els senyals sense fil"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Zona horària automàtica"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Estableix automàticament segons les xarxes mòbils properes"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Estableix auto. amb ubicació dispositiu, si disponible. Pot ser que també calgui una connexió Wi‑Fi activa."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Estableix automàticament amb la ubicació del dispositiu, si està disponible."</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Utilitza la configuració regional predeterminada"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Format de 24 hores"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Hora"</string>
@@ -1127,7 +1127,7 @@
     <string name="wifi_p2p_peer_devices" msgid="5158559154640283546">"Altres dispositius"</string>
     <string name="wifi_p2p_remembered_groups" msgid="5497007770930525695">"Grups recordats"</string>
     <string name="wifi_p2p_failed_connect_message" msgid="6767831720507440027">"No s\'ha pogut connectar."</string>
-    <string name="wifi_p2p_failed_rename_message" msgid="1317434386267376606">"S\'ha produït un error en canviar el nom del dispositiu."</string>
+    <string name="wifi_p2p_failed_rename_message" msgid="1317434386267376606">"Hi ha hagut un error en canviar el nom del dispositiu."</string>
     <string name="wifi_p2p_disconnect_title" msgid="96361896458072463">"Vols desconnectar?"</string>
     <string name="wifi_p2p_disconnect_message" msgid="1208761239498807208">"Si et desconnectes, finalitzarà la teva connexió amb <xliff:g id="PEER_NAME">%1$s</xliff:g>."</string>
     <string name="wifi_p2p_disconnect_multiple_message" msgid="4490648217799144078">"Si et desconnectes, finalitzarà la teva connexió amb <xliff:g id="PEER_NAME">%1$s</xliff:g> i amb <xliff:g id="PEER_COUNT">%2$s</xliff:g> dispositius més."</string>
@@ -1659,9 +1659,9 @@
     <string name="wallpaper_attributions" msgid="4323659759250650736">"Crèdits de fons de pantalla"</string>
     <string name="wallpaper_attributions_values" msgid="987277439026021925">"Proveïdors d\'imatges de satèl·lit:\n©2014 CNES/Astrium, DigitalGlobe, Bluesky"</string>
     <string name="settings_manual_activity_title" msgid="1682978148920788484">"Manual"</string>
-    <string name="settings_manual_activity_unavailable" msgid="2514549851682321576">"S\'ha produït un problema en carregar el manual."</string>
+    <string name="settings_manual_activity_unavailable" msgid="2514549851682321576">"Hi ha hagut un problema en carregar el manual."</string>
     <string name="settings_license_activity_title" msgid="7832071619364734914">"Llicències de tercers"</string>
-    <string name="settings_license_activity_unavailable" msgid="9014803774391134570">"S\'ha produït un problema en llegir les llicències."</string>
+    <string name="settings_license_activity_unavailable" msgid="9014803774391134570">"Hi ha hagut un problema en llegir les llicències."</string>
     <string name="settings_license_activity_loading" msgid="1653151990366578827">"S\'està carregant…"</string>
     <string name="settings_safetylegal_activity_loading" msgid="1757860124583063395">"S\'està carregant…"</string>
     <string name="lockpassword_choose_your_password_header" msgid="2407205113298094824">"Defineix una contrasenya"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilitat"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclat físic"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Tecles de rebot"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"El teclat ignora les pulsacions repetides ràpidament de la mateixa tecla"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Llindar de la tecla de rebot"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Tria el temps que vols que el teclat ignori les pulsacions repetides de tecles"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personalitzat"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valor personalitzat"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Tecles lentes"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Ajusta el temps que tarda la pulsació d\'una tecla en activar-se"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tecles permanents"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Prem una tecla cada vegada per a les dreceres en lloc de mantenir premudes les tecles alhora"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Tecles del ratolí"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Utilitza el teclat per controlar el punter"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Desplaçament invers del ratolí"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Desplaça\'t cap amunt per moure la pàgina cap avall"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Canvia els botons dret i esquerre"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Utilitza el botó esquerre del ratolí com si fos el dret"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tecles de drecera"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostra la llista de dreceres"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclats i eines del perfil de treball"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Tria una tecla nova per a <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accessibilitat del teclat físic"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Tecles permanents, tecles de rebot, tecles del ratolí"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repeteix les tecles"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Retard abans de la repetició"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Freqüència de repetició"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Mantén premuda una tecla per repetir-ne el caràcter fins que la deixis anar"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Disseny de <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predeterminat"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automàtic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2209,7 +2207,7 @@
     <string name="accessibility_tutorial_dialog_title_quick_setting" msgid="2905083277641794558">"Drecera de la configuració ràpida"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4541649734549409614">"Drecera del gest d\'accessibilitat"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Utilitza el gest d\'accessibilitat"</string>
-    <string name="accessibility_tutorial_dialog_message_button" msgid="8977286776192770246">"Per utilitzar aquesta funció, toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla.\n\nPer canviar entre funcions, mantén premut el botó d\'accessibilitat."</string>
+    <string name="accessibility_tutorial_dialog_message_button" msgid="8977286776192770246">"Per utilitzar aquesta funció, toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla.\n\nPer canviar d\'una funció a una altra, mantén premut el botó d\'accessibilitat."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="6631371483819355514">"Per utilitzar aquesta funció, toca el botó d\'accessibilitat de la pantalla"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="3785791536286606664">"Per utilitzar aquesta funció, mantén premudes les dues tecles de volum"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Per iniciar o aturar l\'ampliació, fes triple toc en qualsevol punt de la pantalla."</string>
@@ -2217,11 +2215,11 @@
     <string name="accessibility_tutorial_dialog_twofinger_doubletap_instruction" msgid="1007756360115974649">"Per iniciar o aturar l\'ampliació, toca ràpidament la pantalla dues vegades amb %1$d dits"</string>
     <string name="accessibility_tutorial_dialog_message_quick_setting" msgid="3715446725334547432">"{count,plural, =1{Per utilitzar aquesta funció, llisca cap avall des de la part superior de la pantalla. A continuació, cerca la icona de {featureName}.}other{Per utilitzar aquesta funció, llisca cap avall amb # dits des de la part superior de la pantalla. A continuació, cerca la icona de {featureName}.}}"</string>
     <string name="accessibility_tutorial_dialog_shortcut_unavailable_in_suw" msgid="3847728530771929959">"Aquesta drecera estarà disponible quan acabis de configurar el dispositiu."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Per utilitzar aquesta funció, llisca cap amunt amb 2 dits des de la part inferior de la pantalla.\n\nPer canviar entre funcions, llisca cap amunt amb 2 dits i mantén premut."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Per utilitzar aquesta funció, llisca cap amunt amb 2 dits des de la part inferior de la pantalla.\n\nPer canviar d\'una funció a una altra, llisca cap amunt amb 2 dits i mantén premut."</string>
     <string name="accessibility_tutorial_dialog_gesture_shortcut_instruction" msgid="7349950768250852308">"{count,plural, =1{Per utilitzar aquesta funció, llisca cap amunt des de la part inferior de la pantalla}other{Per utilitzar aquesta funció, llisca cap amunt amb # dits des de la part inferior de la pantalla}}"</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Per utilitzar aquesta funció, llisca cap amunt amb 3 dits des de la part inferior de la pantalla.\n\nPer canviar entre funcions, llisca cap amunt amb 3 dits i mantén premut."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Per utilitzar una funció d\'accessibilitat, llisca cap amunt amb 2 dits des de la part inferior de la pantalla.\n\nPer canviar entre funcions, llisca cap amunt amb 2 dits i mantén premut."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Per utilitzar una funció d\'accessibilitat, llisca cap amunt amb 3 dits des de la part inferior de la pantalla.\n\nPer canviar entre funcions, llisca cap amunt amb 3 dits i mantén premut."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Per utilitzar aquesta funció, llisca cap amunt amb 3 dits des de la part inferior de la pantalla.\n\nPer canviar d\'una funció a una altra, llisca cap amunt amb 3 dits i mantén premut."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Per utilitzar una funció d\'accessibilitat, llisca cap amunt amb 2 dits des de la part inferior de la pantalla.\n\nPer canviar d\'una funció a una altra, llisca cap amunt amb 2 dits i mantén premut."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Per utilitzar una funció d\'accessibilitat, llisca cap amunt amb 3 dits des de la part inferior de la pantalla.\n\nPer canviar d\'una funció a una altra, llisca cap amunt amb 3 dits i mantén premut."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Entesos"</string>
     <string name="accessibility_tutorial_dialog_link_button" msgid="13364319079385020">"Personalitza el botó"</string>
     <string name="accessibility_tutorial_dialog_configure_software_shortcut_type" msgid="8041105223988170653">"Més opcions"</string>
@@ -2233,8 +2231,8 @@
     <string name="accessibility_shortcut_edit_dialog_title_software" msgid="6505512764022389951">"Botó d\'accessibilitat"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Toca el botó flotant"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gest d\'accessibilitat"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla. Per canviar entre funcions, mantén premut el botó d\'accessibilitat."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Llisca cap amunt des de la part inferior de la pantalla. Per canviar entre funcions, llisca cap amunt i mantén premut.}other{Llisca cap amunt amb # dits des de la part inferior de la pantalla. Per canviar entre funcions, llisca cap amunt amb # dits i mantén premut.}}"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla. Per canviar d\'una funció a una altra, mantén premut el botó d\'accessibilitat."</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Llisca cap amunt des de la part inferior de la pantalla. Per canviar d\'una funció a una altra, llisca cap amunt i mantén premut.}other{Llisca cap amunt amb # dits des de la part inferior de la pantalla. Per canviar d\'una funció a una altra, llisca cap amunt amb # dits i mantén premut.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Més opcions"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Més informació sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_dialog_title_quick_settings" msgid="140959604014177304">"Configuració ràpida"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Previsualització"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opcions estàndard"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Idioma"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Mida dels subtítols"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Estil dels subtítols"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opcions personalitzades"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Color de fons"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Vols desconnectar aquesta VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Desconnecta"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versió"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versió <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Oblida la VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Vols substituir la VPN actual?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Vols definir la VPN sempre activa?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Configuració de la cerca"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contactes, emmagatzematge, compte"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Emmagatzematge de contactes"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Només dispositiu"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Els contactes nous no se sincronitzaran amb un compte"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Els contactes es desaran al dispositiu i se sincronitzaran amb el teu compte de manera predeterminada"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Cap compte predeterminat definit"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Afegeix un compte per començar"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Encercla per cercar"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Mantén premut el botó d\'inici o l\'ansa de navegació per cercar utilitzant el contingut de la pantalla."</string>
 </resources>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index 5bfe008..84386e3 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Sněhová vločka"</item>
     <item msgid="7952183800501346803">"Plážový slunečník"</item>
     <item msgid="799139025758265891">"Dílenské nástroje"</item>
-    <item msgid="1330084588359129896">"Stan"</item>
+    <item msgid="8112685757657659269">"Klavír"</item>
     <item msgid="3861584909935022342">"Filmový pás"</item>
     <item msgid="5827426100157335512">"Kniha"</item>
     <item msgid="8585828346253128384">"Lotosový květ"</item>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index b3a90de..1497907 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Nastavit automaticky pomocí sítě a bezdrátových signálů"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatické časové pásmo"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Nastavit automaticky podle mobilních sítí v okolí"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Nastavit automaticky podle polohy zařízení (pokud je k dispozici). Může být potřeba aktivní Wi-Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Nastavit automaticky podle polohy zařízení (pokud je k dispozici)"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Používat výchozí nastavení jazyka"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Používat 24hodinový formát"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Čas"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Klávesnice ignoruje opakovaná stisknutí jedné klávesy"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Limit opakovaného stisknutí"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Vyberte dobu, po kterou bude klávesnice ignorovat opakované stisknutí klávesy"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Vlastní"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"vlastní hodnota"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Zpomalení kláves"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Upraví čas aktivace po stisknutí klávesy"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Jedním prstem"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Místo držení více kláves aktivujte zkratky postupným tisknutím jednotlivých kláves"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Klávesy pro myš"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Ukazatel můžete ovládat pomocí klávesnice"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Opačné posouvání myší"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Při posunutí nahoru posunout stránku dolů"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Prohodit levé a pravé tlačítko"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Používat levé tlačítko myši jako pravé"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klávesové zkratky"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Zobrazit seznam zkratek"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Klávesnice a nástroje v pracovním profilu"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Vyberte novou klávesu pro <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Přístupnost na fyzické klávesnici"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Funkce Jedním prstem, klávesy pro opuštění, klávesy pro myš"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Opakovat klávesy"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Prodleva před opakováním"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Rychlost opakování"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Při podržení klávesy se bude znak opakovaně zadávat, dokud klávesu neuvolníte"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Rozvržení <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Výchozí"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatické: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Náhled"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardní možnosti"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Jazyk"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Velikost titulků"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Styl titulků"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Vlastní možnosti"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Barva pozadí"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Odpojit tuto síť VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Odpojit"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Verze"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Verze <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Zapomenout VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Nahradit stávající síť VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Nastavit trvalou síť VPN?"</string>
@@ -5459,6 +5465,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Pouze zařízení"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nové kontakty se nebudou synchronizovat s účtem"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakty se ve výchozím nastavení uloží do zařízení a synchronizují s účtem"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Žádné výchozí nastavení"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Začněte tím, že přidáte účet"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Zakroužkuj a hledej"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Pokud chcete vyhledávat pomocí obsahu na obrazovce, podržte tlačítko plochy nebo navigační úchyt."</string>
 </resources>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index 1ff620f..20c4aba 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snefnug"</item>
     <item msgid="7952183800501346803">"Parasol"</item>
     <item msgid="799139025758265891">"Værktøj"</item>
-    <item msgid="1330084588359129896">"Telt"</item>
+    <item msgid="8112685757657659269">"Klaver"</item>
     <item msgid="3861584909935022342">"Filmspole"</item>
     <item msgid="5827426100157335512">"Bog"</item>
     <item msgid="8585828346253128384">"Lotusblomst"</item>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 5fc8b0b..884e59a 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Indstil automatisk ved hjælp af dit netværk og trådløse signaler"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatisk tidszone"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Indstil automatisk baseret på mobilnetværk i nærheden af dig"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Indstil automatisk ved hjælp af din enhedslokation, hvis den er tilgængelig. En aktiv Wi-Fi-forbindelse kan også være påkrævet."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Angiv automatisk ved hjælp af din enhedslokation, hvis det er muligt"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Brug landestandard"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Brug 24-timers format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Klokkeslæt"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Hjælpefunktioner"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fysisk tastatur"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Elastiktaster"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Tastaturet ignorerer gentagende, hurtige tryk på den samme tast"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Grænse for elastiktaster"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Vælg, hvor lang tid dit tastatur skal ignorere gentagne tastetryk"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 sekunder"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 sekunder"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 sekunder"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Tilpasset"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"tilpasset værdi"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Langsomtaster"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Justerer den tid, det tager, før et tastetryk aktiveres"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Træge taster"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tryk på én tast ad gangen for at bruge genveje i stedet for at holde flere taster nede på samme tid"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Musetaster"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Brug dit tastatur til at styre markøren"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Omvendt rulning på mus"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Rul opad for at gå ned på siden"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Byt om på knapperne (venstre og højre)"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Brug venstre museknap som højre"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tastaturgenveje"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Vis liste over genveje"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastatur og værktøjer for arbejdsprofil"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Vælg en ny ændringstast til <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Hjælpefunktioner til fysisk tastatur"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Træge taster, elastiktaster, musetaster"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Gentagelsestaster"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Forsinkelse før gentagelse"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Gentagelsesfrekvens"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Hold fingeren på en tast for at gentage dens tegn, indtil du slipper tasten"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g>-layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatisk: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Forhåndsvisning"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardindstillinger"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Sprog"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Underteksternes størrelse"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Underteksttype"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Tilpassede valgmuligheder"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Baggrundsfarve"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Vil du afbryde dette VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Afbryd forbindelse"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Version"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Glem VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Erstat det eksisterende VPN-netværk?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Vil du konfigurere konstant VPN?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Søg i Indstillinger"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontakter, lagerplads, konto"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Lagerplads for kontakter"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Kun via GPS"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nye kontakter synkroniseres ikke med en konto"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakter gemmes på din enhed og synkroniseres med din konto som standard"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Der er ikke angivet nogen standardkonto"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Tilføj en konto for at komme godt i gang"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Hold fingeren på knappen Hjem eller navigationshåndtaget for at søge ved hjælp af indholdet på skærmen."</string>
 </resources>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index fd23c5b..bb3241d 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Schneeflocke"</item>
     <item msgid="7952183800501346803">"Sonnenschirm"</item>
     <item msgid="799139025758265891">"Workshop-Tools"</item>
-    <item msgid="1330084588359129896">"Zelt"</item>
+    <item msgid="8112685757657659269">"Klavier"</item>
     <item msgid="3861584909935022342">"70er-Jahre-Film"</item>
     <item msgid="5827426100157335512">"Buch"</item>
     <item msgid="8585828346253128384">"Lotusblume"</item>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index f2129a6..adb9c4f 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Einstellung erfolgt automatisch über Netzwerk- und WLAN-Signale"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Zeitzone automatisch einstellen"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Einstellung erfolgt automatisch auf der Grundlage von Mobilfunknetzen in deiner Nähe"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Einstellung erfolgt automatisch anhand des Gerätestandorts, wenn verfügbar. Eventuell ist auch eine aktive WLAN-Verbindung nötig."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Einstellung erfolgt automatisch anhand des Gerätestandorts, wenn verfügbar"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Standardformat für die gewählte Spracheinstellung verwenden"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-Stunden-Format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Uhrzeit"</string>
@@ -659,12 +659,9 @@
     <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Muster für vertrauliches Profil einrichten"</string>
     <string name="private_space_category_lock" msgid="1917657024358778169">"Sperren"</string>
     <string name="private_space_category_hide" msgid="3236587591523126649">"Verbergen"</string>
-    <!-- no translation found for private_space_confirm_your_pattern_header (449382220134788771) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_pin_header (4543332157470087796) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_password_header (9202308075814307169) -->
-    <skip />
+    <string name="private_space_confirm_your_pattern_header" msgid="449382220134788771">"Muster für vertrauliches Profil bestätigen"</string>
+    <string name="private_space_confirm_your_pin_header" msgid="4543332157470087796">"PIN für vertrauliches Profil noch einmal eingeben"</string>
+    <string name="private_space_confirm_your_password_header" msgid="9202308075814307169">"Passwort für vertrauliches Profil noch einmal eingeben"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Du kannst bis zu <xliff:g id="COUNT">%d</xliff:g> Fingerabdrücke hinzufügen."</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Du hast die maximale Anzahl an Fingerabdrücken hinzugefügt"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Es können keine Fingerabdrücke mehr hinzugefügt werden"</string>
@@ -1032,10 +1029,8 @@
     <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Prüfe das Passwort und versuch es noch einmal"</string>
     <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Wende dich an den Hersteller des Geräts"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Prüfe die Verbindung und versuche es noch einmal"</string>
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_ssid (3608318690698685427) -->
-    <skip />
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_security (1462706753123341376) -->
-    <skip />
+    <string name="wifi_dpp_check_connection_no_matched_ssid" msgid="3608318690698685427">"Dieses WLAN ist momentan nicht verfügbar"</string>
+    <string name="wifi_dpp_check_connection_no_matched_security" msgid="1462706753123341376">"Es gibt ein Problem mit diesem QR‑Code. Versuche es mit einer anderen Methode."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Netzwerk auswählen"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Wenn du dein Gerät verbinden möchtest, wähle ein Netzwerk"</string>
     <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"Dieses Gerät zu \"<xliff:g id="SSID">%1$s</xliff:g>\" hinzufügen?"</string>
@@ -1951,26 +1946,29 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Barrierefreiheit"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Physische Tastatur"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bounce-Tasten"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Schnell aufeinanderfolgende Betätigungen derselben Taste auf der Tastatur werden ignoriert"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Grenzwert für Bounce-Tasten"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Wähle aus, wie lange wiederholtes Drücken der Tasten auf der Tastatur ignoriert werden soll"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
     <skip />
     <string name="slow_keys" msgid="2891452895499690837">"Anschlagverzögerung"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Passt die Zeit an, die eine Taste gedrückt werden muss, um sie zu aktivieren"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Einfingerbedienung"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Bei Tastenkombinationen Tasten einzeln drücken, statt sie zusammen gedrückt zu halten"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Maustasten"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Zum Steuern des Mauszeigers die Tastatur verwenden"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Mausrad-Scrollrichtung umkehren"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Wenn du nach oben scrollst, wird die Seite nach unten verschoben"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Linke und rechte Taste tauschen"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Die linke Maustaste übernimmt die Funktion der rechten Maustaste (und umgekehrt)"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tastenkürzel"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Liste der Tastenkombinationen anzeigen"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastaturen und Tools für das Arbeitsprofil"</string>
@@ -2039,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Wähle eine neue Taste für <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Bedienungshilfen für physische Tastaturen"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Einfingerbedienung, Bounce-Tasten, Maustasten"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Tasteneingabewiederholung"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Verzögerung vor Wiederholung"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Wiederholungsrate"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Wenn du eine Taste gedrückt hältst, wird das entsprechende Zeichen so lange immer wieder eingegeben, bis du die Taste loslässt"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Layout: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatisch: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2230,7 +2228,7 @@
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
     <string name="accessibility_tutorial_dialog_link_button" msgid="13364319079385020">"Schaltfläche anpassen"</string>
     <string name="accessibility_tutorial_dialog_configure_software_shortcut_type" msgid="8041105223988170653">"Weitere Optionen"</string>
-    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Kurzbefehl für „<xliff:g id="SERVICE">%1$s</xliff:g>“"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Kurzbefehl für <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="48978719406821294">"Schaltfläche „Bedienungshilfen“"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="7346399253904683940">"Touch-Geste für Bedienungshilfen"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Mit zwei Fingern nach oben wischen"</string>
@@ -2447,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Vorschau"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardoptionen"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Sprache"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Größe der Untertitel"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Untertitelstil"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Benutzerdefinierte Optionen"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Hintergrundfarbe"</string>
@@ -2992,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Verbindung zu diesem VPN trennen?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Verbindung trennen"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Version"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN entfernen"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Aktuelles VPN ersetzen?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Durchgehend aktives VPN aktivieren?"</string>
@@ -3924,8 +3922,7 @@
     <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Modus erstellen"</string>
     <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Benutzerdefinierter Modus"</string>
     <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Modusname"</string>
-    <!-- no translation found for zen_mode_edit_name_empty_error (5788063278827188275) -->
-    <skip />
+    <string name="zen_mode_edit_name_empty_error" msgid="5788063278827188275">"Der Name des Modus darf nicht leer sein"</string>
     <string name="zen_mode_edit_choose_icon_title" msgid="6452801577128788362">"Symbol auswählen"</string>
     <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Kalendertermine"</string>
     <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Ablauf „Schlafenszeit“"</string>
@@ -5468,13 +5465,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"In Einstellungen suchen"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"Kontakte, Speicher, Konto"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Kontakte-Speicher"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Nur Gerät"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Neue Kontakte werden nicht mit einem Konto synchronisiert"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakte werden standardmäßig auf deinem Gerät gespeichert und mit deinem Konto synchronisiert"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Kein Standard festgelegt"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Füge ein Konto hinzu, um loszulegen"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Halte die Startbildschirmtaste oder den Navigationsziehpunkt gedrückt, um anhand des Inhalts auf dem Bildschirm zu suchen."</string>
 </resources>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 2bad60e..3765c8b 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Νιφάδα χιονιού"</item>
     <item msgid="7952183800501346803">"Ομπρέλα παραλίας"</item>
     <item msgid="799139025758265891">"Εργαλεία εργαστηρίου"</item>
-    <item msgid="1330084588359129896">"Σκηνή"</item>
+    <item msgid="8112685757657659269">"Πιάνο"</item>
     <item msgid="3861584909935022342">"Ρετρό φιλμ"</item>
     <item msgid="5827426100157335512">"Βιβλίο"</item>
     <item msgid="8585828346253128384">"Λουλούδι λωτού"</item>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 56ab7f6..21d0d39 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Αυτόματος ορισμός με χρήση του δικτύου σας και των ασύρματων σημάτων"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Αυτόματη ζώνη ώρας"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Αυτόματος ορισμός με βάση τα δίκτυα κινητής τηλεφωνίας κοντά σας"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Ορίστε αυτόματα με την τοποθεσία συσκευής, αν είναι διαθέσιμη. Ίσως απαιτείται ενεργή σύνδεση Wi-Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Αυτόματος ορισμός με χρήση της τοποθεσίας συσκευής, αν είναι διαθέσιμη"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Χρήση προεπιλογής τοπικών ρυθμίσεων"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Χρήση μορφής 24ώρου"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Ώρα"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Το πληκτρολόγιο αγνοεί τα γρήγορα, επαναλαμβανόμενα πατήματα του ίδιου πλήκτρου"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Όριο ελαστικών πλήκτρων"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Επιλέξτε το χρονικό διάστημα κατά το οποίο το πληκτρολόγιο θα παραβλέπει τα επαναλαμβανόμενα πατήματα πλήκτρων"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 δ."</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 δ."</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 δ."</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 δ."</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 δ."</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 δ."</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Προσαρμοσμένη"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"προσαρμοσμένη τιμή"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Αργά πλήκτρα"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Προσαρμόζει τον χρόνο που απαιτείται για την ενεργοποίηση ενός πατήματος πλήκτρου"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Ασύγχρονα πλήκτρα"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Για τις συντομεύσεις, αντί να πατάτε παρατεταμένα όλα τα κουμπιά μαζί, φροντίστε να πατάτε ένα πλήκτρο κάθε φορά"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Πλήκτρα ποντικιού"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Χρησιμοποιήστε το πληκτρολόγιο, για να ελέγξετε τον δείκτη"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Αντίστροφη κύλιση με το ποντίκι"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Κάντε κύλιση προς τα επάνω, για να μετακινήσετε τη σελίδα προς τα κάτω."</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Εναλλαγή αριστερού και δεξιού κουμπιού"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Χρησιμοποιήστε το αριστερό κουμπί του ποντικιού ως δεξί κουμπί"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Συντομεύσεις πληκτρολογίου"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Εμφάνιση λίστας συντομεύσεων"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Πληκτρολόγιο και εργαλεία προφίλ εργασίας"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Επιλέξτε ένα νέο κλειδί για <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Προσβασιμότητα φυσικού πληκτρολογίου"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Ασύγχρονα πλήκτρα, Ελαστικά πλήκτρα, Πλήκτρα ποντικιού"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Επανάληψη πλήκτρων"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Καθυστέρηση πριν από την επανάληψη"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Ρυθμός επανάληψης"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Κρατήστε πατημένο ένα πλήκτρο, για επανάληψη του χαρακτήρα του μέχρι να αφήσετε το πλήκτρο"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Διάταξη <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Προεπιλογή"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Αυτόματο: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Προεπισκόπηση"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Βασικές επιλογές"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Γλώσσα"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Μέγεθος υπότιτλων"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Στιλ υποτίτλων"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Προσαρμοσμένες επιλογές"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Χρώμα φόντου"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Να αποσυνδεθεί αυτό το VPN;"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Αποσύνδεση"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Έκδοση"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Έκδοση <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Διαγραφή VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Αντικατάσταση υπάρχοντος VPN;"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Ενεργοποίηση του μονίμως ενεργού VPN;"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Μόνο στη συσκευή"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Οι νέες επαφές δεν θα συγχρονίζονται με κάποιον λογαριασμό"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Οι επαφές θα αποθηκεύονται στη συσκευή σας και θα συγχρονίζονται με τον λογαριασμό σας από προεπιλογή"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Δεν ορίστηκε προεπιλογή"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Για να ξεκινήσετε, προσθέστε λογαριασμό"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Κυκλώστε για αναζήτηση"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Πατήστε παρατεταμένα το κουμπί αρχικής οθόνης ή τη λαβή πλοήγησης, για να κάνετε αναζήτηση χρησιμοποιώντας το περιεχόμενο στην οθόνη σας."</string>
 </resources>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index 53465e7..9cb3e27 100644
--- a/res/values-en-rAU/arrays.xml
+++ b/res/values-en-rAU/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snowflake"</item>
     <item msgid="7952183800501346803">"Beach umbrella"</item>
     <item msgid="799139025758265891">"Workshop tools"</item>
-    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Film reel"</item>
     <item msgid="5827426100157335512">"Book"</item>
     <item msgid="8585828346253128384">"Lotus flower"</item>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index ef44048..6744e6f 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Set automatically using your network and wireless signals"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatic time zone"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Set automatically based on mobile networks near you"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Set automatically using your device location, if available. An active Wi-Fi connection may also be required."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Set automatically using your device location, if available"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Use locale default"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Use 24-hour format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Time"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"The keyboard ignores quickly repeated presses of the same key"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Bounce key threshold"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Choose the duration of time that your keyboard ignores repeated key presses"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Custom"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"custom value"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Adjusts the time that it takes for a key press to activate"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Press one key at a time for shortcuts instead of holding keys down together"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Mouse keys"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Use your keyboard to control the pointer"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Mouse reverse scrolling"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Scroll up to move the page down"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Swap left and right buttons"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Use the left mouse button as your right"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Keyboard shortcuts"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Show list of shortcuts"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Work profile keyboards &amp; tools"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choose a new key for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Physical keyboard accessibility"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Sticky keys, bounce keys, mouse keys"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repeat keys"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Delay before repeat"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Repeat rate"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Hold down a key to repeat its character until the key is released"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Preview"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standard options"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Language"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Caption size"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Caption style"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Customisation options"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Background colour"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Disconnect this VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Disconnect"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Version"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Forget VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Replace existing VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Set always-on VPN?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Search settings"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contacts, storage, account"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Contacts storage"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Device only"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"New contacts won\'t be synced with an account"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Contacts will be saved to your device and synced to your account by default"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"No default set"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Add an account to get started"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Touch and hold the home button or the navigation handle to search using the content on your screen."</string>
 </resources>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 4682432..19cf1b9 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snowflake"</item>
     <item msgid="7952183800501346803">"Beach umbrella"</item>
     <item msgid="799139025758265891">"Workshop tools"</item>
-    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Film reel"</item>
     <item msgid="5827426100157335512">"Book"</item>
     <item msgid="8585828346253128384">"Lotus flower"</item>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index a1ab150..6ae36b2 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Set automatically using your network and wireless signals"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatic time zone"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Set automatically based on mobile networks near you"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Set automatically using your device location, if available. An active Wifi connection may also be required."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Set automatically using your device location, if available"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Use locale default"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Use 24-hour format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Time"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"The keyboard ignores quickly repeated presses of the same key"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Bounce key threshold"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Choose the duration of time your keyboard ignores repeated key presses"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Custom"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"custom value"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Adjusts the time it takes for a key press to activate"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Press one key at a time for shortcuts instead of holding keys down together"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Mouse keys"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Use your keyboard to control the pointer"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Mouse reverse scrolling"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Scroll up to move the page down"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Swap left and right buttons"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Use the left mouse button as your right"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Keyboard shortcuts"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Show list of shortcuts"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Work profile keyboards &amp; tools"</string>
@@ -2026,8 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choose a new key for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Physical keyboard accessibility"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Sticky keys, Bounce keys, Mouse keys"</string>
-    <string name="keyboard_repeat_key_title" msgid="3641350808120194549">"Repeat Keys"</string>
-    <string name="keyboard_repeat_key_summary" msgid="3970350989341158854">"Hold down a key to repeat its character until the key is released"</string>
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repeat Keys"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Delay before repeat"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Repeat Rate"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Hold down a key to repeat its character until the key is released"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2976,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Disconnect this VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Disconnect"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Version"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Forget VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Replace existing VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Set always-on VPN?"</string>
@@ -5454,6 +5463,10 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Device only"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"New contacts won\'t be synced with an account"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Contacts will be saved to your device and synced to your account by default"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"No default set"</string>
+    <string name="contacts_storage_set_default_account_error_message" msgid="849847649756411393">"Error setting the default account"</string>
+    <string name="contacts_storage_no_account_set_summary" msgid="7454973781666475276">"No default set"</string>
+    <string name="contacts_storage_local_account_summary" msgid="5034805108128685712">"Device only"</string>
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Add an account to get started"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Touch and hold the Home button or the navigation handle to search using the content on your screen."</string>
 </resources>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 53465e7..9cb3e27 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snowflake"</item>
     <item msgid="7952183800501346803">"Beach umbrella"</item>
     <item msgid="799139025758265891">"Workshop tools"</item>
-    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Film reel"</item>
     <item msgid="5827426100157335512">"Book"</item>
     <item msgid="8585828346253128384">"Lotus flower"</item>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 0f428c2..b146c48 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Set automatically using your network and wireless signals"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatic time zone"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Set automatically based on mobile networks near you"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Set automatically using your device location, if available. An active Wi-Fi connection may also be required."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Set automatically using your device location, if available"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Use locale default"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Use 24-hour format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Time"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"The keyboard ignores quickly repeated presses of the same key"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Bounce key threshold"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Choose the duration of time that your keyboard ignores repeated key presses"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Custom"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"custom value"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Adjusts the time that it takes for a key press to activate"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Press one key at a time for shortcuts instead of holding keys down together"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Mouse keys"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Use your keyboard to control the pointer"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Mouse reverse scrolling"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Scroll up to move the page down"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Swap left and right buttons"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Use the left mouse button as your right"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Keyboard shortcuts"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Show list of shortcuts"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Work profile keyboards &amp; tools"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choose a new key for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Physical keyboard accessibility"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Sticky keys, bounce keys, mouse keys"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repeat keys"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Delay before repeat"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Repeat rate"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Hold down a key to repeat its character until the key is released"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Preview"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standard options"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Language"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Caption size"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Caption style"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Customisation options"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Background colour"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Disconnect this VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Disconnect"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Version"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Forget VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Replace existing VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Set always-on VPN?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Search settings"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contacts, storage, account"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Contacts storage"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Device only"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"New contacts won\'t be synced with an account"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Contacts will be saved to your device and synced to your account by default"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"No default set"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Add an account to get started"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Touch and hold the home button or the navigation handle to search using the content on your screen."</string>
 </resources>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index 53465e7..9cb3e27 100644
--- a/res/values-en-rIN/arrays.xml
+++ b/res/values-en-rIN/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snowflake"</item>
     <item msgid="7952183800501346803">"Beach umbrella"</item>
     <item msgid="799139025758265891">"Workshop tools"</item>
-    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Film reel"</item>
     <item msgid="5827426100157335512">"Book"</item>
     <item msgid="8585828346253128384">"Lotus flower"</item>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 606547b..99b995c 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Set automatically using your network and wireless signals"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatic time zone"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Set automatically based on mobile networks near you"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Set automatically using your device location, if available. An active Wi-Fi connection may also be required."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Set automatically using your device location, if available"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Use locale default"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Use 24-hour format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Time"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibility"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Physical keyboard"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Bounce keys"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"The keyboard ignores quickly repeated presses of the same key"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Bounce key threshold"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Choose the duration of time that your keyboard ignores repeated key presses"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Custom"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"custom value"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Adjusts the time that it takes for a key press to activate"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Press one key at a time for shortcuts instead of holding keys down together"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Mouse keys"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Use your keyboard to control the pointer"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Mouse reverse scrolling"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Scroll up to move the page down"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Swap left and right buttons"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Use the left mouse button as your right"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Keyboard shortcuts"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Show list of shortcuts"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Work profile keyboards &amp; tools"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choose a new key for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Physical keyboard accessibility"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Sticky keys, bounce keys, mouse keys"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repeat keys"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Delay before repeat"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Repeat rate"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Hold down a key to repeat its character until the key is released"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> layout"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatic: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Preview"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standard options"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Language"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Caption size"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Caption style"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Customisation options"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Background colour"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Disconnect this VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Disconnect"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Version"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Forget VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Replace existing VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Set always-on VPN?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Search settings"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contacts, storage, account"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Contacts storage"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Device only"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"New contacts won\'t be synced with an account"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Contacts will be saved to your device and synced to your account by default"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"No default set"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Add an account to get started"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Touch and hold the home button or the navigation handle to search using the content on your screen."</string>
 </resources>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index 607d9d7..a19ff4b 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Copo de nieve"</item>
     <item msgid="7952183800501346803">"Sombrilla"</item>
     <item msgid="799139025758265891">"Herramientas de taller"</item>
-    <item msgid="1330084588359129896">"Tienda"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Rollo de película"</item>
     <item msgid="5827426100157335512">"Libro"</item>
     <item msgid="8585828346253128384">"Flor de loto"</item>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index ce0820e..3e3e59d 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -132,7 +132,7 @@
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Se activará el Bluetooth para vincular"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencias de conexión"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Conectados anteriormente"</string>
-    <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Se activó el Bluetooth"</string>
+    <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth activado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
     <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Ver todos"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pluma stylus"</string>
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Se establecen automáticamente con la red y las señales inalámbricas"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Zona horaria automática"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Configurar automáticamente según las redes móviles cercanas"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Se establecen automáticamente con la ubicación del dispositivo (si está disponible). Se podría necesitar una conexión Wi-Fi activa."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Se establecen automáticamente con la ubicación del dispositivo (si está disponible)"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar configuración regional predeterminada"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Formato de 24 horas"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Hora"</string>
@@ -659,12 +659,9 @@
     <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Establece patrón para espacio privado"</string>
     <string name="private_space_category_lock" msgid="1917657024358778169">"Bloqueo"</string>
     <string name="private_space_category_hide" msgid="3236587591523126649">"Ocultar"</string>
-    <!-- no translation found for private_space_confirm_your_pattern_header (449382220134788771) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_pin_header (4543332157470087796) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_password_header (9202308075814307169) -->
-    <skip />
+    <string name="private_space_confirm_your_pattern_header" msgid="449382220134788771">"Confirma el patrón de tu espacio privado"</string>
+    <string name="private_space_confirm_your_pin_header" msgid="4543332157470087796">"Vuelve a ingresar el PIN de tu espacio privado"</string>
+    <string name="private_space_confirm_your_password_header" msgid="9202308075814307169">"Vuelve a ingresar la contraseña de tu espacio privado"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Puedes agregar hasta <xliff:g id="COUNT">%d</xliff:g> huellas dactilares"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Agregaste la cantidad máxima permitida de huellas digitales"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"No se pueden agregar más huellas digitales"</string>
@@ -1032,10 +1029,8 @@
     <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Revisa la contraseña y vuelve a intentarlo"</string>
     <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Comunícate con el fabricante del dispositivo"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Comprueba la conexión y vuelve a intentarlo"</string>
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_ssid (3608318690698685427) -->
-    <skip />
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_security (1462706753123341376) -->
-    <skip />
+    <string name="wifi_dpp_check_connection_no_matched_ssid" msgid="3608318690698685427">"Esta red Wi-Fi no está disponible en este momento"</string>
+    <string name="wifi_dpp_check_connection_no_matched_security" msgid="1462706753123341376">"Hay un problema con este código QR. Intenta conectarte de otra forma."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Elegir una red"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Selecciona una red para conectar tu dispositivo"</string>
     <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"¿Agregar este dispositivo a \"<xliff:g id="SSID">%1$s</xliff:g>\"?"</string>
@@ -1954,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"El teclado ignora las presiones repetidas con rapidez de la misma tecla"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Umbral de rechazo de teclas"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Elige el intervalo de tiempo en el que el teclado ignora las presiones repetidas"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2 s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4 s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6 s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personalizado"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valor personalizado"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Ajusta el tiempo que lleva activar la presión de una tecla"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas especiales"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Presiona una tecla a la vez para hacer la combinación de teclas en lugar de presionarlas juntas"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Teclas del mouse"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Usa el teclado para controlar el puntero"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Desplazamiento invertido del mouse"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Desplázate hacia arriba para bajar la página"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Intercambiar los botones izquierdo y derecho"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Usa el botón izquierdo del mouse como el derecho"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Combinaciones de teclas"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostrar lista de combinaciones de teclas"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados y herramientas del perfil de trabajo"</string>
@@ -2031,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Elige una nueva tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accesibilidad del teclado físico"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Teclas especiales, rechazo de teclas, teclas del mouse"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repetición de teclas"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Tiempo para repetición"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Frecuencia de repetición"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Mantener presionada una tecla para repetir su carácter hasta que se suelte la tecla"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Diseño <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predeterminadas"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2222,7 +2223,7 @@
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Entendido"</string>
     <string name="accessibility_tutorial_dialog_link_button" msgid="13364319079385020">"Personalizar botón"</string>
     <string name="accessibility_tutorial_dialog_configure_software_shortcut_type" msgid="8041105223988170653">"Más opciones"</string>
-    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Combinación para <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Atajo para <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="48978719406821294">"botón de accesibilidad"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="7346399253904683940">"gesto de accesibilidad"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Deslizar dos dedos hacia arriba"</string>
@@ -2439,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Vista previa"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opciones estándar"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Idioma"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Tamaño de los subtítulos"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Estilo de los subtítulos"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opciones personalizadas"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Color de fondo"</string>
@@ -2984,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"¿Deseas desconectar esta VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Desconectar"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versión"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versión <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Borrar VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"¿Reemplazar VPN existente?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"¿Configurar la VPN siempre activa?"</string>
@@ -3389,7 +3390,7 @@
     <string name="spatial_summary_on_one" msgid="6239933399496282994">"Sí (<xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>)"</string>
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Sí (<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> y <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>)"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"También puedes activar el audio espacial para dispositivos Bluetooth."</string>
-    <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Parámetros de configuración de dispositivos conectados"</string>
+    <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Configuración de dispositivos conectados"</string>
     <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Audio espacial"</string>
     <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Desactivado"</string>
     <string name="spatial_audio_multi_toggle_on" msgid="4204808183659033003">"Fijo"</string>
@@ -3916,8 +3917,7 @@
     <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Crea un modo"</string>
     <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modo personalizado"</string>
     <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nombre del modo"</string>
-    <!-- no translation found for zen_mode_edit_name_empty_error (5788063278827188275) -->
-    <skip />
+    <string name="zen_mode_edit_name_empty_error" msgid="5788063278827188275">"El nombre del modo no puede estar vacío"</string>
     <string name="zen_mode_edit_choose_icon_title" msgid="6452801577128788362">"Selecciona un ícono"</string>
     <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventos de calendario"</string>
     <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina Hora de dormir"</string>
@@ -5041,9 +5041,9 @@
     <string name="lockscreen_privacy_wallet_summary" msgid="3984851951621168573">"Permite el acceso a la billetera desde la pantalla de bloqueo"</string>
     <string name="lockscreen_privacy_qr_code_scanner_setting_toggle" msgid="1856477548806618829">"Mostrar escáner de código QR"</string>
     <string name="lockscreen_privacy_qr_code_scanner_summary" msgid="4577409244972250235">"Permitir el acceso al escáner de código QR desde la pantalla de bloqueo"</string>
-    <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostrar controles del dispositivo"</string>
+    <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Mostrar controles de dispositivos"</string>
     <string name="lockscreen_privacy_controls_summary" msgid="7522918441738915364">"Desde la pantalla de bloqueo"</string>
-    <string name="lockscreen_trivial_controls_setting_toggle" msgid="2174300719855112358">"Usar controles del dispositivo"</string>
+    <string name="lockscreen_trivial_controls_setting_toggle" msgid="2174300719855112358">"Usar controles de dispositivos"</string>
     <string name="lockscreen_trivial_disabled_controls_summary" msgid="7593626010580689155">"Para usar, primero activa \"Mostrar controles del dispositivo\""</string>
     <string name="lockscreen_double_line_clock_summary" msgid="4109235686687860393">"El tamaño del reloj cambia según el contenido de la pantalla de bloqueo"</string>
     <string name="lockscreen_double_line_clock_setting_toggle" msgid="802271087416091548">"Reloj dinámico"</string>
@@ -5220,7 +5220,7 @@
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar más adelante"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Audio espacial"</string>
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"El audio de contenido multimedia compatible se hace más envolvente"</string>
-    <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Seguimiento de cabeza"</string>
+    <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Monitoreo de cabeza"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"El audio cambia a medida que mueves la cabeza para sonar más natural"</string>
     <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronización de permisos desde el teléfono"</string>
     <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Otórgale al reloj los mismos permisos de la app de este teléfono"</string>
@@ -5463,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Solo en dispositivo"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Los contactos nuevos no se sincronizarán con una cuenta"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"De forma predeterminada, los contactos se guardarán en el dispositivo y se sincronizarán con tu cuenta"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"No hay cuenta predeterminada"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Agrega una cuenta para comenzar"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Busca con un círculo"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Mantén presionado el botón de inicio o la barra de navegación para hacer búsquedas con el contenido de la pantalla."</string>
 </resources>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index 2a48e62..83143e5 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Copo de nieve"</item>
     <item msgid="7952183800501346803">"Sombrilla"</item>
     <item msgid="799139025758265891">"Herramientas del taller"</item>
-    <item msgid="1330084588359129896">"Tienda de campaña"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Carrete vintage"</item>
     <item msgid="5827426100157335512">"Libro"</item>
     <item msgid="8585828346253128384">"Flor de loto"</item>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index ff50016..8d53bfc 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Se establece automáticamente mediante tu red y señales inalámbricas"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Zona horaria automática"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Se establece automáticamente según las redes móviles cercanas"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Se establece automáticamente usando la ubicación de tu dispositivo, si está disponible. También puede que se necesite una conexión Wi-Fi activa."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Se establece automáticamente usando la ubicación de tu dispositivo, si está disponible"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar configuración regional predeterminada"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Usar formato de 24 horas"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Hora"</string>
@@ -659,12 +659,9 @@
     <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Configura un patrón para espacio privado"</string>
     <string name="private_space_category_lock" msgid="1917657024358778169">"Bloquear"</string>
     <string name="private_space_category_hide" msgid="3236587591523126649">"Ocultar"</string>
-    <!-- no translation found for private_space_confirm_your_pattern_header (449382220134788771) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_pin_header (4543332157470087796) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_password_header (9202308075814307169) -->
-    <skip />
+    <string name="private_space_confirm_your_pattern_header" msgid="449382220134788771">"Confirma el patrón del espacio privado"</string>
+    <string name="private_space_confirm_your_pin_header" msgid="4543332157470087796">"Vuelve a introducir el PIN del espacio privado"</string>
+    <string name="private_space_confirm_your_password_header" msgid="9202308075814307169">"Vuelve a introducir la contraseña del espacio privado"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Puedes añadir hasta <xliff:g id="COUNT">%d</xliff:g> huellas digitales"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Has añadido el número máximo de huellas digitales"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"No se pueden añadir más huellas digitales"</string>
@@ -1032,10 +1029,8 @@
     <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Comprueba que la contraseña sea correcta y vuelve a intentarlo"</string>
     <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Ponte en contacto con el fabricante del dispositivo"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Comprueba la conexión y vuelve a intentarlo"</string>
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_ssid (3608318690698685427) -->
-    <skip />
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_security (1462706753123341376) -->
-    <skip />
+    <string name="wifi_dpp_check_connection_no_matched_ssid" msgid="3608318690698685427">"Esta red Wi-Fi no está disponible en este momento"</string>
+    <string name="wifi_dpp_check_connection_no_matched_security" msgid="1462706753123341376">"Hay un problema con este código QR. Prueba a conectarte de otra forma."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Elegir red"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Elige una red para conectar tu dispositivo"</string>
     <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"¿Añadir este dispositivo a \"<xliff:g id="SSID">%1$s</xliff:g>\"?"</string>
@@ -1951,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilidad"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Teclas de rebote"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"El teclado ignora las pulsaciones rápidas repetidas de la misma tecla"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Umbral de tecla de rebote"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Elige el tiempo que tu teclado ignora las pulsaciones repetidas de teclas"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personalizado"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valor personalizado"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Ajusta el tiempo que se tarda en activar una pulsación de tecla"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas persistentes"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Para las combinaciones de teclas, pulsa las teclas de una en una en lugar de mantenerlas pulsadas todas a la vez"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Teclas para el ratón"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Usa el teclado para controlar el puntero"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Desplazamiento inverso del ratón"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Desplázate hacia arriba para mover la página hacia abajo"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Cambiar los botones izquierdo y derecho"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Usa el botón izquierdo del ratón como el derecho"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Combinaciones de teclas"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Muestra la lista de combinaciones de teclas"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Perfiles de trabajo y herramientas"</string>
@@ -2039,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Elige una nueva tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accesibilidad del teclado físico"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Teclas persistentes, teclas de rebote y teclas para el ratón"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Teclas de repetición"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Tiempo hasta la repetición"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Porcentaje de repetición"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Mantén pulsada una tecla para repetir su carácter hasta que la sueltes"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Diseño <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predeterminado"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2216,7 +2209,7 @@
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usar gesto de accesibilidad"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="8977286776192770246">"En la parte inferior de la pantalla, toca el botón de accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> para usar esta función.\n\nPara cambiar de una función a otra, mantén pulsado ese botón."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="6631371483819355514">"Para usar esta función, toca el botón de accesibilidad de la pantalla"</string>
-    <string name="accessibility_tutorial_dialog_message_volume" msgid="3785791536286606664">"Para usar esta función, mantén pulsadas las dos teclas de volumen"</string>
+    <string name="accessibility_tutorial_dialog_message_volume" msgid="3785791536286606664">"Para usar esta función, mantén pulsadas las 2 teclas de volumen"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar o detener la ampliación, toca tres veces en cualquier parte de la pantalla."</string>
     <string name="accessibility_tutorial_dialog_tripletap_instruction" msgid="7549293553589934">"Para iniciar o detener la ampliación, toca rápidamente la pantalla %1$d veces"</string>
     <string name="accessibility_tutorial_dialog_twofinger_doubletap_instruction" msgid="1007756360115974649">"Para iniciar o detener la ampliación, toca rápidamente la pantalla dos veces con %1$d dedos"</string>
@@ -2447,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Vista previa"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opciones estándar"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Idioma"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Tamaño de los subtítulos"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Estilo de los subtítulos"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opciones personalizadas"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Color de fondo"</string>
@@ -2992,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"¿Desconectar esta VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Desconectar"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versión"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versión <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Olvidar VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"¿Reemplazar VPN actual?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"¿Configurar el modo de VPN siempre activada?"</string>
@@ -3924,8 +3917,7 @@
     <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Crea un modo"</string>
     <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modo personalizado"</string>
     <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nombre del modo"</string>
-    <!-- no translation found for zen_mode_edit_name_empty_error (5788063278827188275) -->
-    <skip />
+    <string name="zen_mode_edit_name_empty_error" msgid="5788063278827188275">"El nombre del modo no puede estar vacío"</string>
     <string name="zen_mode_edit_choose_icon_title" msgid="6452801577128788362">"Selecciona un icono"</string>
     <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventos del calendario"</string>
     <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina Buenas noches"</string>
@@ -3946,7 +3938,7 @@
     <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"Bloquea las distracciones o interrupciones de tu dispositivo para concentrarte"</string>
     <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"Elimina todas las distracciones para un ambiente silencioso"</string>
     <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"Personaliza las experiencias y los ajustes del dispositivo para diferentes usuarios"</string>
-    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Reduce las interrupciones al permitir que solo se pongan en contacto contigo las personas y aplicaciones importantes"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"Reduce interrupciones al solo permitir que ciertas personas y aplicaciones importantes se pongan en contacto contigo."</string>
     <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"Configura un modo que siga un horario regular"</string>
     <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"Mantén tu dispositivo sincronizado con los eventos del día"</string>
     <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"Empieza el día con energía"</string>
@@ -5468,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Buscar ajustes"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contactos, almacenamiento, cuenta"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Almacenamiento de los contactos"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Solo en el dispositivo"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Los contactos nuevos no se sincronizarán con ninguna cuenta"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Los contactos se guardarán en tu dispositivo y se sincronizarán con tu cuenta de forma predeterminada"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Ninguna cuenta predeterminada definida"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Añade una cuenta para empezar"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Rodea para buscar"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Mantén pulsado el botón de inicio o la barra de navegación para buscar usando el contenido de tu pantalla."</string>
 </resources>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index 63bcbc6..f33792e 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Lumehelves"</item>
     <item msgid="7952183800501346803">"Päikesevari"</item>
     <item msgid="799139025758265891">"Õpitoa tööriistad"</item>
-    <item msgid="1330084588359129896">"Telk"</item>
+    <item msgid="8112685757657659269">"Klaver"</item>
     <item msgid="3861584909935022342">"Filmilint"</item>
     <item msgid="5827426100157335512">"Raamat"</item>
     <item msgid="8585828346253128384">"Lootoseõis"</item>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 3519af7..868a125 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Seadistage automaatselt oma võrgu ja juhtmeta ühenduse signaalide abil"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automaatne ajavöönd"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Seadistage automaatselt enda lähedal olevate mobiilivõrkude põhjal"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Seadistage automaatselt oma seadme asukoha põhjal (kui on saadaval). Vaja võib olla ka aktiivset WiFi-ühendust."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Seadistage automaatselt oma seadme asukoha põhjal (kui on saadaval)"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Kasuta lokaadi vaikeseadet"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-tunnise vormingu kasutamine"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Kellaaeg"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Klaviatuur eirab kiiresti tehtud sama klahvi korduvaid vajutusi"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Põrkeklahvi lävi"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Valige kestus, kui kaua teie klaviatuur korduvaid klahvivajutusi eirab"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Kohandatud"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"kohandatud väärtus"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Aeglased klahvid"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Määrab klahvivajutuse aktiveerumiseks kuluva aja"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Nakkeklahvid"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Otseteede puhul klahvide korraga allhoidmise asemel vajutage klahve ükshaaval"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Hiireklahvid"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Kasutage kursori juhtimiseks klaviatuuri"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Hiirega tagurpidi kerimine"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Lehe allapoole liigutamiseks kerige üles"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Vasaku ja parema nupu vahetamine"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Kasutage hiire vasakut nuppu parema nupuna"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klaviatuuri otseteed"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Kuva otseteede loend"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tööprofiili klaviatuurid ja tööriistad"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Valige muuteklahvi <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> jaoks uus klahv:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Füüsilise klaviatuuri juurdepääsetavus"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Nakkeklahvid, põrkeklahvid, hiireklahvid"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Korduvad klahvid"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Viivitus enne kordamist"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Kordusmäär"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Hoidke klahvi all, et selle tähemärki kuni klahvi vabastamiseni korrata"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Paigutus: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Vaikeseade"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automaatne: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2223,7 +2229,7 @@
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Pühkige kahe sõrmega üles"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"Pühkige kolme sõrmega üles"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software" msgid="6505512764022389951">"Juurdepääsetavuse nupp"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Puudutage hõljuvat nuppu"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Puudutage hõljuvat nuppu."</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Juurdepääsetavuse liigutus"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Puudutage ekraani allservas juurdepääsetavuse nuppu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>. Funktsioonide vahetamiseks puudutage ja hoidke juurdepääsetavuse nuppu."</string>
     <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Tõmmake sõrmega ekraani allservast üles. Funktsioonide vahetamiseks tõmmake sõrmega üles ja hoidke sõrme ekraanil.}other{Tõmmake # sõrmega ekraani allservast üles. Funktsioonide vahetamiseks tõmmake # sõrmega üles ja hoidke sõrmi ekraanil.}}"</string>
@@ -2235,7 +2241,7 @@
     <string name="accessibility_feature_shortcut_setting_summary_quick_settings" msgid="7006526933552889373">"Kiirseaded"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Helitugevuse klahvid"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"helitugevuse klahvid"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Hoidke all mõlemat helitugevuse klahvi"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Hoidke all mõlemat helitugevuse klahvi."</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"%1$d sõrmega topeltpuudutus"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Puudutage ekraani %1$d sõrmega kiiresti kaks korda"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Kolmikpuudutus"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Eelvaade"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardvalikud"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Keel"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Subtiitrite suurus"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Subtiitri stiil"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Kohandatud valikud"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Tausta värv"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Kas soovite katkestada ühenduse selle VPN-iga?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Katkesta ühendus"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versioon"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versioon <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Unusta VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Kas asendada olemasolev VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Kas määrata alati sisselülitatud VPN?"</string>
@@ -5145,7 +5151,7 @@
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Juhtmevaba silumise kasutamine"</string>
     <string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Graafikadraiveri eelistuste kasutamine"</string>
     <string name="night_light_main_switch_title" msgid="3428298022467805219">"Kasuta öövalgust"</string>
-    <string name="nfc_main_switch_title" msgid="6295839988954817432">"NFC kasutamine"</string>
+    <string name="nfc_main_switch_title" msgid="6295839988954817432">"Kasuta NFC-d"</string>
     <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"Kasuta kohanduvat eredust"</string>
     <string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"WiFi-kõnede kasutamine"</string>
     <string name="default_see_all_apps_title" msgid="7481113230662612178">"Kuva kõik rakendused"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Ainult seade"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Uusi kontakte ei sünkroonita kontoga"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontaktid salvestatakse teie seadmesse ja sünkroonitakse vaikimisi teie kontoga"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Ühtegi vaikekontot pole määratud"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Lisage alustamiseks konto"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Ring otsimiseks"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Puudutage pikalt avakuva nuppu või navigeerimispidet, et otsida ekraanil oleva sisu järgi."</string>
 </resources>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index 4ff40ac..6ff3f1b 100644
--- a/res/values-eu/arrays.xml
+++ b/res/values-eu/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Elur-maluta"</item>
     <item msgid="7952183800501346803">"Eguzkitakoa"</item>
     <item msgid="799139025758265891">"Lantegiko tresnak"</item>
-    <item msgid="1330084588359129896">"Kanpin-denda"</item>
+    <item msgid="8112685757657659269">"Pianoa"</item>
     <item msgid="3861584909935022342">"Film-bobina"</item>
     <item msgid="5827426100157335512">"Liburua"</item>
     <item msgid="8585828346253128384">"Loto-lorea"</item>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 764255f..5d5e583 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Ezarri automatikoki sarea eta hari gabeko seinaleak erabilita"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Ordu-zona automatikoa"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Ezarri automatikoki inguruko sare mugikorretan oinarrituta"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Ezarri automatikoki gailuaren kokapena erabilita, halakorik badago. Baliteke wifi-konexio aktibo bat ere behar izatea."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Ezarri automatikoki gailuaren kokapena erabilita, halakorik badago"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Erabili lurraldeko ezarpen lehenetsiak"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Erabili 24 orduko formatua"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Ordua"</string>
@@ -414,11 +414,11 @@
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gehitu dira aurpegia, hatz-marka eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gehitu dira aurpegia, hatz-markak eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
     <string name="mandatory_biometrics_prompt_description" msgid="6790144699440050735">"Identitate-egiaztapena aktibatuta dago eta sistema biometriko bat behar du"</string>
-    <string name="go_to_settings" msgid="4394928396153474179">"Joan ezarpenetara"</string>
+    <string name="go_to_settings" msgid="4394928396153474179">"Joan Ezarpenak atalera"</string>
     <string name="identity_check_lockout_error_title" msgid="7486409651908283892">"Identitate-egiaztapena aktibatuta dago eta ezin du egiaztatu zu zarenik"</string>
     <string name="identity_check_lockout_error_description_1" msgid="4882147327291296884">"Sistema biometrikoak gehiegitan huts egin du. Berriro saiatzeko, blokeatu eta desblokeatu gailua berriro."</string>
     <string name="identity_check_lockout_error_two_factor_auth_description_1" msgid="8369894114882274736">"Sistema biometrikoak gehiegitan huts egin du. Saiatu berriro."</string>
-    <string name="identity_check_lockout_error_description_2" msgid="5512321457771307067">"Identitate-egiaztapena lapurreten aurkako babesaren ezarpenetan kudea dezakezu. Joan ezarpenetara"</string>
+    <string name="identity_check_lockout_error_description_2" msgid="5512321457771307067">"Identitate-egiaztapena lapurreten aurkako babesaren ezarpenetan kudea dezakezu. Joan Ezarpenak atalera"</string>
     <string name="identity_check_general_error_title" msgid="5073929400896102674">"Aurrera egiteko, sistema biometriko bat behar da"</string>
     <string name="identity_check_general_error_description_1" msgid="5260846996256699095">"Identitate-egiaztapena aktibatuta dago eta sistema biometriko bat behar du, baina aurpegiaren edo hatz-marken sentsorea ez dago erabilgarri.\n"<ul><li>"Egiaztatu kamera aktibatuta dagoela eta saiatu berriro."</li>\n<li>"Identitate-egiaztapena desaktibatzeko, joan Google Kontua atalera."</li></ul></string>
     <string name="identity_check_biometric_error_cancel" msgid="3353689146211669291">"Utzi"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Erabilerraztasuna"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teklatu fisikoa"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Errebote-teklak"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Teklatuak ez ikusi egiten du tekla bera behin eta berriro bizkor sakatzen bada"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Tekla-sakatze errepikatuen atalasea"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Aukeratu zer iraupenarekin egiten duen teklatuak ez ikusi tekla bera behin eta berriro sakatzen bada"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Pertsonalizatua"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"balio pertsonalizatua"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Tekla motelak"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Tekla bat sakatzean aktibatzeko behar den denbora doitzen du"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tekla itsaskorrak"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Lasterbideetan, sakatu teklak banan-banan, guztiak aldi berean sakatu ordez"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Saguaren teklak"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Erabili teklatua erakuslea kontrolatzeko"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Saguarekin gora eta behera alderantziz egiteko aukera"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Egin gora orria beherantz mugitzeko"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Aldatu ezkerreko eta eskuineko botoiak"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Erabili saguaren ezkerreko botoia eskuinekoa balitz bezala"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Lasterbideak"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Erakutsi lasterbideen zerrenda"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Laneko profilaren teklatuak eta tresnak"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Aukeratu <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> teklarako beste tekla bat:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Teklatu fisikoaren erabilerraztasuna"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Tekla itsaskorrak, errebote-teklak, saguaren teklak"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Errepikatutako teklak"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Errepikatu aurreko tartea"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Errepikapen-abiadura"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Eduki sakatuta tekla bat, eta askatu arte errepikatuko da haren karakterea"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> teklatuaren diseinua"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Lehenetsia"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatikoa: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Aurreikusi"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Aukera estandarrak"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Hizkuntza"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Azpitituluen tamaina"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Azpitituluen estiloa"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Aukera pertsonalizatuak"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Atzeko planoaren kolorea"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"VPN saretik deskonektatu nahi duzu?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Deskonektatu"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Bertsioa"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"<xliff:g id="VERSION">%s</xliff:g> bertsioa"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Ahaztu VPN konexioa"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Dagoen VPN konexioa ordeztu nahi duzu?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"VPNa beti aktibatuta egoteko aukera ezarri nahi duzu?"</string>
@@ -3100,7 +3098,7 @@
     <string name="emergency_info_summary" msgid="8463622253016757697">"Datuak eta kontaktuak (<xliff:g id="USER_NAME">%1$s</xliff:g>)"</string>
     <string name="open_app_button" msgid="5025229765547191710">"Ireki <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="application_restrictions" msgid="276179173572729205">"Baimendu aplikazioak eta edukia"</string>
-    <string name="apps_with_restrictions_header" msgid="5277698582872267931">"Murrizketak dituzten aplikazioak"</string>
+    <string name="apps_with_restrictions_header" msgid="5277698582872267931">"Murriztapenak dituzten aplikazioak"</string>
     <string name="apps_with_restrictions_settings_button" msgid="2648355133416902221">"Zabaldu aplikazio-ezarpenak"</string>
     <string name="user_choose_copy_apps_to_another_user" msgid="5914037067347012870">"Aukeratu instalatu nahi dituzun aplikazioak"</string>
     <string name="user_copy_apps_menu_title" msgid="5354300105759670300">"Instalatu aplikazio erabilgarriak"</string>
@@ -3134,7 +3132,7 @@
     <string name="nfc_payment_btn_text_update" msgid="5159700960497443832">"Eguneratu"</string>
     <string name="nfc_work_text" msgid="2496515165821504077">"Lanekoak"</string>
     <string name="restriction_settings_title" msgid="4293731103465972557">"Murriztapenak"</string>
-    <string name="restriction_menu_reset" msgid="92859464456364092">"Kendu murrizketak"</string>
+    <string name="restriction_menu_reset" msgid="92859464456364092">"Kendu murriztapenak"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"Aldatu PINa"</string>
     <string name="help_label" msgid="2896538416436125883">"Laguntza eta iritziak"</string>
     <string name="user_account_title" msgid="6389636876210834864">"Edukia gordetzeko kontua"</string>
@@ -3175,7 +3173,7 @@
     <string name="work_sim_title" msgid="8999872928646924429">"Laneko SIM txartela"</string>
     <string name="user_restrictions_title" msgid="4068914244980335993">"Eduki eta aplikazioetarako sarbidea"</string>
     <string name="user_rename" msgid="8735940847878484249">"ALDATU IZENA"</string>
-    <string name="app_restrictions_custom_label" msgid="6949268049087435132">"Ezarri murrizketak aplikazioei"</string>
+    <string name="app_restrictions_custom_label" msgid="6949268049087435132">"Ezarri murriztapenak aplikazioei"</string>
     <string name="user_restrictions_controlled_by" msgid="2821526006742851624">"<xliff:g id="APP">%1$s</xliff:g> aplikazioak kontrolatua"</string>
     <string name="app_sees_restricted_accounts" msgid="3526008344222566318">"Aplikazioak zure kontuak atzi ditzake"</string>
     <string name="app_sees_restricted_accounts_and_controlled_by" msgid="8338520379923447143">"Aplikazio honek zure kontuak atzi ditzake. <xliff:g id="APP">%1$s</xliff:g> aplikazioak kontrolatua."</string>
@@ -3482,7 +3480,7 @@
     <string name="zen_mode_restrict_notifications_summary_muted" msgid="2826459087306271381">"Erakutsi jakinarazpenak"</string>
     <string name="zen_mode_restrict_notifications_summary_custom" msgid="6455811408721183198">"Jakinarazpenak partzialki ezkutatuta"</string>
     <string name="zen_mode_restrict_notifications_summary_hidden" msgid="2157279412167366119">"Ezkutatu jakinarazpenak"</string>
-    <string name="zen_mode_what_to_block_title" msgid="5692710098205334164">"Murrizketa pertsonalizatuak"</string>
+    <string name="zen_mode_what_to_block_title" msgid="5692710098205334164">"Murriztapen pertsonalizatuak"</string>
     <string name="zen_mode_block_effects_screen_on" msgid="8780668375194500987">"Pantaila piztuta dagoenean"</string>
     <string name="zen_mode_block_effects_screen_off" msgid="2291988790355612826">"Pantaila itzalita dagoenean"</string>
     <string name="zen_mode_block_effect_sound" msgid="7929909410442858327">"Desaktibatu soinua eta dardara"</string>
@@ -3919,7 +3917,7 @@
     <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Sortu modu bat"</string>
     <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modu pertsonalizatua"</string>
     <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Moduaren izena"</string>
-    <string name="zen_mode_edit_name_empty_error" msgid="5788063278827188275">"Moduaren izenak ezin du hutsik egon"</string>
+    <string name="zen_mode_edit_name_empty_error" msgid="5788063278827188275">"Moduaren izena ezin da hutsik egon"</string>
     <string name="zen_mode_edit_choose_icon_title" msgid="6452801577128788362">"Aukeratu ikono bat"</string>
     <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Egutegiko gertaerak"</string>
     <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Lo egiteko garaiko ohitura"</string>
@@ -4124,7 +4122,7 @@
     <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Eman pantailako irudi bat erabiltzeko baimena laguntza-aplikazioari"</string>
     <string name="assist_flash_title" msgid="5449512572885550108">"Distirarazi pantaila"</string>
     <string name="assist_flash_summary" msgid="3032289860177784594">"Distirarazi pantailaren ertzak laguntza-aplikazioak pantailako edo pantaila-argazkiko testua erabiltzen duenean"</string>
-    <string name="assist_footer" msgid="8248015363806299068">"Laguntza-aplikazioek ikusten ari zaren pantailako informazioaren araberako laguntza eskain diezazukete. Zenbait aplikaziok abiarazlea eta ahots bidezko zerbitzuak onartzen dituzte laguntza integratua eskaintzeko."</string>
+    <string name="assist_footer" msgid="8248015363806299068">"Laguntza-aplikazioek ikusten ari zaren pantailako informazioaren araberako laguntza eskain diezazukete. Zenbait aplikaziok exekutatzeko tresna eta ahots bidezko zerbitzuak onartzen dituzte laguntza integratua eskaintzeko."</string>
     <string name="average_memory_use" msgid="717313706368825388">"Batez best. memoria-erabilera"</string>
     <string name="maximum_memory_use" msgid="2171779724001152933">"Gehieneko memoria-erabilera"</string>
     <string name="memory_usage" msgid="5594133403819880617">"Memoriaren erabilera"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Bilatu ezarpenetan"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontaktuak, biltegia, kontua"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Kontaktuen biltegia"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Gailua soilik"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Kontaktu berriak ez dira sinkronizatuko kontu batekin"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontaktuak gailuan gordeko dira, eta modu lehenetsian kontuarekin sinkronizatuko"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Ez da ezarri kontu lehenetsirik"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Hasteko, gehitu kontu bat"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Inguratu bilatzeko"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Pantailako edukia erabilita bilaketa egiteko, eduki sakatuta orri nagusira joateko botoia edo nabigazioaren kontrol-puntua."</string>
 </resources>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index aa67b97..ac5cd80 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"دانه برف"</item>
     <item msgid="7952183800501346803">"چتر ساحلی"</item>
     <item msgid="799139025758265891">"ابزارهای کارگاه"</item>
-    <item msgid="1330084588359129896">"چادر"</item>
+    <item msgid="8112685757657659269">"پیانو"</item>
     <item msgid="3861584909935022342">"حلقه فیلم"</item>
     <item msgid="5827426100157335512">"کتاب"</item>
     <item msgid="8585828346253128384">"گل نیلوفر آبی"</item>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index f39f13e..230dddb 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"به‌طور خودکار بااستفاده از سیگنال‌های شبکه و بی‌سیم تنظیم می‌شود"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"منطقه زمانی خودکار"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"به‌طور خودکار براساس شبکه‌های تلفن همراه اطرافتان تنظیم می‌شود"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"‏به‌طور خودکار با مکان دستگاه (اگر دردسترس باشد) تنظیم می‌شود. شاید اتصال فعال Wi-Fi نیز لازم باشد."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"به‌طور خودکار با مکان دستگاه (اگر دردسترس باشد) تنظیم می‌شود"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"استفاده از پیش‌فرض منطقه زبانی"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"استفاده از قالب ۲۴ ساعته"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"زمان"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"دسترس‌پذیری"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"صفحه‌کلید فیزیکی"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"کلیدهای واگشت"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"صفحه‌کلید فشردن‌های تکراری و سریع یک کلید را نادیده می‌گیرد"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"آستانه کلیدهای ضدتکرار"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"مدت زمانی را که صفحه‌کلید شما فشردن‌های تکراری کلید را نادیده می‌گیرد انتخاب کنید"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"‫۰٫۲ ثانیه"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"‫۰٫۴ ثانیه"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"‫۰٫۶ ثانیه"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"سفارشی"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"مقدار سفارشی"</string>
     <string name="slow_keys" msgid="2891452895499690837">"کلیدهای آهسته"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"فاصله زمانی بین فشردن کلید و فعال‌سازی آن را تنظیم می‌کند"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"کلیدهای چسبان"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"به‌جای اینکه چند کلید را به‌طور هم‌زمان پایین نگه دارید، هربار یک کلید را برای میان‌برها فشار دهید"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"کلیدهای موشواره"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"استفاده از صفحه‌کلید برای کنترل کردن اشاره‌گر"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"پیمایش معکوس موشواره"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"برای رفتن به‌پایین صفحه، به‌بالا پیمایش کنید"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"جابه‌جا کردن دکمه‌های چپ و راست"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"استفاده از دکمه چپ موشواره به‌عنوان کلیک راست"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"میان‌برهای صفحه‌کلید"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"نمایش فهرست میان‌برها"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"نمایه کاری صفحه‌کلیدها و ابزارها"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"کلید جدیدی برای <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> انتخاب کنید:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"دسترس‌پذیری صفحه‌کلید فیزیکی"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"کلیدهای چسبان، کلیدهای کمانه‌ای، کلیدهای موشواره"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"تکرار کردن کلیدها"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"تأخیر پیش‌از تکرار"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"سرعت تکرار"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"با نگه داشتن کلید، نویسه آن تا زمانی‌که آن را رها نکنید تکرار می‌شود"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"چیدمان <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"پیش‌فرض"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"خودکار: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2216,7 +2214,7 @@
     <string name="accessibility_tutorial_dialog_tripletap_instruction" msgid="7549293553589934">"‏برای راه‌اندازی یا متوقف کردن درشت‌نمایی، سریع %1$d بار روی صفحه‌نمایش تک‌ضرب بزنید"</string>
     <string name="accessibility_tutorial_dialog_twofinger_doubletap_instruction" msgid="1007756360115974649">"‏برای راه‌اندازی یا متوقف کردن درشت‌نمایی، سریع با %1$d انگشت دوبار روی صفحه‌نمایش تک‌ضرب بزنید"</string>
     <string name="accessibility_tutorial_dialog_message_quick_setting" msgid="3715446725334547432">"{count,plural, =1{برای استفاده از این ویژگی، از بالای صفحه‌نمایش تند به‌پایین بکشید. سپس، کاشی {featureName} را پیدا کنید.}one{برای استفاده از این ویژگی، با # انگشت از بالای صفحه‌نمایش تند به‌پایین بکشید. سپس، کاشی {featureName} را پیدا کنید.}other{برای استفاده از این ویژگی، با # انگشت از بالای صفحه‌نمایش تند به‌پایین بکشید. سپس، کاشی {featureName} را پیدا کنید.}}"</string>
-    <string name="accessibility_tutorial_dialog_shortcut_unavailable_in_suw" msgid="3847728530771929959">"این میان‌بر پس‌از تکمیل راه‌اندازی دستگاه دردسترس خواهد بود."</string>
+    <string name="accessibility_tutorial_dialog_shortcut_unavailable_in_suw" msgid="3847728530771929959">"این میان‌بر پس‌از تمام کردن راه‌اندازی دستگاه دردسترس خواهد بود."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"برای استفاده از این ویژگی، با ۲ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به‌بالا بکشید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_gesture_shortcut_instruction" msgid="7349950768250852308">"{count,plural, =1{برای استفاده از این ویژگی، از پایین صفحه‌نمایش تند به‌بالا بکشید}one{برای استفاده از این ویژگی، با # انگشت از پایین صفحه‌نمایش تند به‌بالا بکشید}other{برای استفاده از این ویژگی، با # انگشت از پایین صفحه‌نمایش تند به‌بالا بکشید}}"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"برای استفاده از این ویژگی، با ۳ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به‌بالا بکشید و نگه دارید."</string>
@@ -2239,7 +2237,7 @@
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"درباره <xliff:g id="SERVICE">%1$s</xliff:g> بیشتر بدانید"</string>
     <string name="accessibility_shortcut_edit_dialog_title_quick_settings" msgid="140959604014177304">"تنظیمات فوری"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_quick_settings" msgid="739883998754165940">"{count,plural, =1{از بالای صفحه‌نمایش تند به‌پایین بکشید}one{از بالای صفحه‌نمایش با # انگشت تند به‌پایین بکشید}other{از بالای صفحه‌نمایش با # انگشت تند به‌پایین بکشید}}"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_quick_settings_suw" msgid="4216628328191609785">"{count,plural, =1{از بالای صفحه‌نمایش تند به‌پایین بکشید. این میان‌بر پس‌از تکمیل راه‌اندازی دستگاه دردسترس خواهد بود.}one{از بالای صفحه‌نمایش با # انگشت تند به‌پایین بکشید. این میان‌بر پس‌از تکمیل راه‌اندازی دستگاه دردسترس خواهد بود.}other{از بالای صفحه‌نمایش با # انگشت تند به‌پایین بکشید. این میان‌بر پس‌از تکمیل راه‌اندازی دستگاه دردسترس خواهد بود.}}"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_quick_settings_suw" msgid="4216628328191609785">"{count,plural, =1{از بالای صفحه‌نمایش تند به‌پایین بکشید. این میان‌بر پس‌از تمام کردن راه‌اندازی دستگاه دردسترس خواهد بود.}one{از بالای صفحه‌نمایش با # انگشت تند به‌پایین بکشید. این میان‌بر پس‌از تمام کردن راه‌اندازی دستگاه دردسترس خواهد بود.}other{از بالای صفحه‌نمایش با # انگشت تند به‌پایین بکشید. این میان‌بر پس‌از تمام کردن راه‌اندازی دستگاه دردسترس خواهد بود.}}"</string>
     <string name="accessibility_feature_shortcut_setting_summary_quick_settings" msgid="7006526933552889373">"تنظیمات فوری"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"کلیدهای میزان صدا"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"کلیدهای میزان صدا"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"پیش‌نمایش"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"گزینه‌های استاندارد"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"زبان"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"اندازه زیرنویس ناشنوایان"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"سبک زیرنویس"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"گزینه‌های سفارشی"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"رنگ پس‌زمینه"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"‏اتصال به این VPN.قطع‌ شود؟"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"قطع ارتباط"</string>
     <string name="vpn_version" msgid="6344167191984400976">"نسخه"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"نسخه <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"‏فراموش کردن VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"‏VPN موجود جایگزین شود؟"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"‏VPN همیشه روشن تنظیم شود؟"</string>
@@ -3701,7 +3699,7 @@
     <string name="notif_type_silent" msgid="6273951794420331010">"بی‌صدا"</string>
     <string name="notif_type_silent_summary" msgid="7820923063105060844">"اعلان‌هایی که همیشه بی‌صدا هستند و نمی‌لرزند"</string>
     <string name="notification_listener_allowed" msgid="5536962633536318551">"مجاز"</string>
-    <string name="notification_listener_not_allowed" msgid="3352962779597846538">"مجاز نبودن"</string>
+    <string name="notification_listener_not_allowed" msgid="3352962779597846538">"مجاز نیست"</string>
     <string name="notif_listener_excluded_app_title" msgid="6679316209330349730">"مشاهده همه برنامه‌ها"</string>
     <string name="notif_listener_excluded_app_summary" msgid="2914567678047195396">"تغییر دادن تنظیمات هر برنامه‌ای که اعلان ارسال می‌کند"</string>
     <string name="notif_listener_excluded_app_screen_title" msgid="8636196723227432994">"برنامه‌هایی که در دستگاه نشان داده می‌شوند"</string>
@@ -4403,7 +4401,7 @@
     <string name="dark_theme_slice_title" msgid="4684222119481114062">"زمینه تاریک را امتحان کنید"</string>
     <string name="dark_theme_slice_subtitle" msgid="5555724345330434268">"به افزایش عمر باتری کمک می‌کند"</string>
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"کاشی‌های برنامه‌نویسی تنظیمات سریع"</string>
-    <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"‏غیرفعال کردن درنگ مجوز adb"</string>
+    <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"‏غیرفعال کردن مهلت مجوز adb adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"‏فسخ خودکار مجوزهای ADB (پل اشکال‌زدایی Android) برای سیستم‌هایی که ظرف مدت زمان پیش‌فرض (۷ روز) یا پیکربندی‌شده توسط کاربر (حداقل ۱ روز) دوباره متصل نشده‌اند، غیرفعال شود."</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"حسگرها خاموش است"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"تنظیمات نمایه کاری"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"جستجو در «تنظیمات»"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"مخاطبین، فضای ذخیره‌سازی، حساب"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"فضای ذخیره‌سازی مخاطبین"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"فقط دستگاه"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"مخاطبین جدید با هیچ حسابی همگام‌سازی نمی‌شوند"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"مخاطبین به‌طور پیش‌فرض در دستگاه شما ذخیره می‌شوند و با حسابتان همگام‌سازی می‌شوند"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"حساب پیش‌فرضی تنظیم نشده است"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"برای شروع، حسابی اضافه کنید"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"حلقه جستجو"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"برای جستجو بااستفاده از محتوای روی صفحه، دکمه «صفحه اصلی» یا دستگیره پیمایش را لمس کنید و نگه دارید."</string>
 </resources>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index 8cb72b4..d5f6b29 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Lumihiutale"</item>
     <item msgid="7952183800501346803">"Rantavarjo"</item>
     <item msgid="799139025758265891">"Työkalut"</item>
-    <item msgid="1330084588359129896">"Teltta"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Vanha kotivideo"</item>
     <item msgid="5827426100157335512">"Kirja"</item>
     <item msgid="8585828346253128384">"Lootuskukka"</item>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index 6b40627..b01ba65 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Määritä automaattisesti verkon ja langattomien signaalien perusteella"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automaattinen aikavyöhyke"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Määritä automaattisesti lähellä olevien mobiiliverkkojen perusteella"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Määritä automaattisesti sijainnin perusteella, jos saatavilla. Voi vaatia aktiivista Wi-Fi-yhteyttä."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Määritä automaattisesti sijainnin perusteella, jos saatavilla"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Käytä paikallista oletusasetusta"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Käytä 24-tuntista kelloa"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Aika"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Saavutettavuus"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fyysinen näppäimistö"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Toistuvien painallusten ohitus"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Näppäimistö ei huomioi nopeasti toistettuja saman näppäimen painalluksia"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Toistuvan painalluksen ohituskynnys"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Valitse, kuinka kauan näppäimistö ohittaa toistuvat painallukset"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Oma"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"oma arvo"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Hitaat näppäimet"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Muuta aikaa, joka näppäimellä kuluu aktivoitumiseen painalluksen jälkeen"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Päälle jäävät näppäimet"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Käytä pikanäppäimiä painamalla yhtä näppäintä kerralla monen näppäimen sijaan"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Hiiren painikkeet"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Ohjaa osoitinta näppäimistöllä"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Hiiren käänteinen vieritys"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Siirry alaspäin sivulla vierittämällä ylöspäin"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Vaihda vasemman ja oikean painikkeen paikkaa"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Käytä hiiren vasenta painiketta oikeana"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Pikanäppäimet"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Näytä pikanäppäimet"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Työprofiilin näppäimistöt ja työkalut"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Valitse uusi näppäin (<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>):"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Fyysisen näppäimistön saavutettavuus"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Päälle jäävät näppäimet, toistuvien painallusten ohitus, hiiren painikkeet"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Toistettavat näppäimet"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Viive ennen toistoa"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Toistonopeus"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Pidä näppäintä painettuna, niin sen merkki toistuu, kunnes näppäin vapautetaan"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Asettelu: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Oletus"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automaattinen: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Esikatselu"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Vakioasetukset"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Kieli"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Tekstityksen koko"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Tekstityksen tyyli"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Omat asetukset"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Taustaväri"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Katkaistaanko VPN-yhteys?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Katkaise yhteys"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versio"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versio <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Unohda VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Korvataanko nykyinen VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Määritetäänkö aina käytössä oleva VPN?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Hae asetuksista"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"yhteystiedot, tallennustila, tili"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Yhteystietojen säilytys"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Vain laite"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Uusia yhteystietoja ei synkronoida tilille"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Yhteystiedot tallennetaan laitteelle ja synkronoidaan tilillesi oletuksena"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Oletusta ei ole asetettu."</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Aloita lisäämällä tili"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Kosketa aloitusnäyttöpainiketta tai siirtymiskahvaa pitkään, jotta voit tehdä haun näytöllä olevasta sisällöstä."</string>
 </resources>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index 12749a5..2993aa6 100644
--- a/res/values-fr-rCA/arrays.xml
+++ b/res/values-fr-rCA/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Flocon de neige"</item>
     <item msgid="7952183800501346803">"Parasol"</item>
     <item msgid="799139025758265891">"Outils d\'atelier"</item>
-    <item msgid="1330084588359129896">"Tente"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Pellicule de film"</item>
     <item msgid="5827426100157335512">"Livre"</item>
     <item msgid="8585828346253128384">"Fleur de lotus"</item>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index fc7fe09..fbb187094 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Configurez automatiquement ce paramètre à l\'aide de votre réseau et de vos signaux sans fil"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Fuseau horaire automatique"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Configurez ce paramètre automatiquement en fonction des réseaux cellulaires à proximité"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Configurez automatiquem. ce param. si localis. d\'appareil est dispo. Connex. Wi-Fi peut être nécess."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Configurez automatiquement ce paramètre si la localisation de l\'appareil est disponible"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Utiliser les paramètres régionaux par défaut"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Utiliser le format 24 h"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Heure"</string>
@@ -659,12 +659,9 @@
     <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Créer un schéma pour l\'Espace privé"</string>
     <string name="private_space_category_lock" msgid="1917657024358778169">"Verrouiller"</string>
     <string name="private_space_category_hide" msgid="3236587591523126649">"Masquer"</string>
-    <!-- no translation found for private_space_confirm_your_pattern_header (449382220134788771) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_pin_header (4543332157470087796) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_password_header (9202308075814307169) -->
-    <skip />
+    <string name="private_space_confirm_your_pattern_header" msgid="449382220134788771">"Confirmer le schéma de votre espace privé"</string>
+    <string name="private_space_confirm_your_pin_header" msgid="4543332157470087796">"Entrer à nouveau le NIP de votre espace privé"</string>
+    <string name="private_space_confirm_your_password_header" msgid="9202308075814307169">"Entrer à nouveau le mot de passe de l\'espace privé"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Vous pouvez ajouter jusqu\'à <xliff:g id="COUNT">%d</xliff:g> empreintes digitales"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Vous avez ajouté le nombre maximal d\'empreintes digitales"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossible d\'ajouter des empreintes digitales"</string>
@@ -1032,10 +1029,8 @@
     <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Vérifiez votre mot de passe, puis réessayez"</string>
     <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Communiquez avec le fabricant de l\'appareil"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Vérifiez votre connexion et réessayez"</string>
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_ssid (3608318690698685427) -->
-    <skip />
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_security (1462706753123341376) -->
-    <skip />
+    <string name="wifi_dpp_check_connection_no_matched_ssid" msgid="3608318690698685427">"Ce réseau Wi-Fi n\'est pas accessible pour le moment"</string>
+    <string name="wifi_dpp_check_connection_no_matched_security" msgid="1462706753123341376">"Il y a un problème avec ce code QR. Essayez de vous connecter d\'une autre manière."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Choisir un réseau"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Pour connecter votre appareil, choisissez un réseau"</string>
     <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"Ajouter cet appareil au réseau « <xliff:g id="SSID">%1$s</xliff:g> »?"</string>
@@ -1340,7 +1335,7 @@
     <string name="lift_to_wake_title" msgid="8994218158737714046">"Soulever pour activer"</string>
     <string name="ambient_display_screen_title" msgid="8615947016991429325">"Affichage en mode Veille"</string>
     <string name="ambient_display_category_triggers" msgid="1216640141609270011">"Activation du mode Veille"</string>
-    <string name="doze_title" msgid="1523090408230862316">"Réactiv. écran pour notifications"</string>
+    <string name="doze_title" msgid="1523090408230862316">"Activer écran si notifications"</string>
     <string name="doze_summary" msgid="8252867381522942804">"Lorsque l\'écran est sombre, il s\'allume en cas de nouvelles notifications"</string>
     <string name="doze_always_on_title" msgid="7326245192352868477">"Toujours affich. heure et données"</string>
     <string name="doze_always_on_summary" msgid="509097829739647852">"Utilisation accrue de la pile"</string>
@@ -1951,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilité"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Clavier physique"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Touches non répétées"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Le clavier ignore les appuis répétés rapidement sur la même touche"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Seuil de la touche non répétée"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Choisissez la durée pendant laquelle votre clavier ignore les appuis répétés sur une touche"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personnalisée"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valeur personnalisée"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Touches lentes"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Règle le temps nécessaire pour qu\'un appui sur une touche soit activé"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Touches rémanentes"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Appuyer sur une clé à la fois pour activer les raccourcis plutôt que de maintenir plusieurs touches enfoncées en même temps"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Touches de la souris"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Utiliser votre clavier pour contrôler le pointeur"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Défilement inversé de la souris"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Faites défiler l\'écran vers le haut pour déplacer la page vers le bas"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Inverser les boutons gauche et droit"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Utilisez le bouton gauche de la souris comme bouton droit"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Raccourcis clavier"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Afficher la liste de raccourcis"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Claviers et outils pour le profil professionnel"</string>
@@ -2039,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choisir une nouvelle touche pour <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> :"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accessibilité du clavier physique"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Touches rémanentes, touches non répétées, touches de la souris"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Touches de répétition"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Délai avant la répétition"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Fréquence de répétition"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Maintenez une touche enfoncée pour répéter son caractère jusqu\'à ce que la touche soit relâchée"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Mise en page <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Par défaut"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatique : <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2248,7 +2241,7 @@
     <string name="accessibility_feature_shortcut_setting_summary_quick_settings" msgid="7006526933552889373">"Paramètres rapides"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"Touches de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"touches de volume"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Maintenez enfoncées les deux touches de volume"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Maintenez les deux touches de volume enfoncées"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"Toucher deux fois avec %1$d doigts"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"Touchez rapidement l\'écran deux fois avec %1$d doigts"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"Toucher trois fois"</string>
@@ -2447,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Aperçu"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Options standards"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Langue"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Taille des sous-titres"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Style de sous-titres"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Options de personnalisation"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Couleur de l\'arrière-plan"</string>
@@ -2992,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Déconnecter ce RPV?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Déconnecter"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Version"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Oublier le profil RPV"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Remplacer le RPV existant?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Définir le RPV permanent?"</string>
@@ -3405,7 +3398,7 @@
     <string name="zen_mode_settings_schedules_summary" msgid="2047688589286811617">"{count,plural, =0{Aucun}=1{1 horaire programmé}one{# horaire programmé}other{# horaires programmés}}"</string>
     <string name="zen_mode_settings_title" msgid="682676757791334259">"Ne pas déranger"</string>
     <string name="zen_modes_list_title" msgid="4796033710444068729">"Modes"</string>
-    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Réduisez les distractions et prenez le contrôle de votre attention à l\'aide des modes pour le sommeil, le travail, la conduite et tout ce qu\'il y a entre les deux."</string>
+    <string name="zen_modes_list_intro" msgid="1795379595115088972">"Réduisez les distractions et prenez le contrôle de votre attention à l\'aide des modes pour le sommeil, le travail, la conduite et tout le reste."</string>
     <string name="zen_modes_add_mode" msgid="5926457160307593664">"Créer votre propre mode"</string>
     <string name="zen_mode_settings_summary" msgid="6040862775514495191">"Recevez uniquement les notifications des personnes et des applis importantes"</string>
     <string name="zen_mode_select_schedule" msgid="663163931596092952">"Définir un horaire"</string>
@@ -3857,10 +3850,10 @@
     <string name="zen_mode_alarms" msgid="5989343060100771099">"Alarmes"</string>
     <string name="zen_mode_alarms_summary" msgid="3388679177457223967">"Des minuteries, des alarmes, des systèmes de sécurité et d\'autres applis"</string>
     <string name="zen_mode_alarms_list" msgid="334782233067365405">"alarmes"</string>
-    <string name="zen_mode_alarms_list_first" msgid="2780418316613576610">"Alarmes"</string>
+    <string name="zen_mode_alarms_list_first" msgid="2780418316613576610">"Les alarmes"</string>
     <string name="zen_mode_media" msgid="885017672250984735">"Sons des éléments multimédias"</string>
     <string name="zen_mode_media_summary" msgid="7174081803853351461">"Sons des vidéos, des jeux et d\'autres éléments multimédias"</string>
-    <string name="zen_mode_media_list" msgid="2006413476596092020">"média"</string>
+    <string name="zen_mode_media_list" msgid="2006413476596092020">"le contenu multimédia"</string>
     <string name="zen_mode_media_list_first" msgid="7824427062528618442">"Éléments multimédias"</string>
     <string name="zen_mode_system" msgid="7301665021634204942">"Sons des touches"</string>
     <string name="zen_mode_system_summary" msgid="7225581762792177522">"Sons du clavier et des autres boutons"</string>
@@ -3924,8 +3917,7 @@
     <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Créer un mode"</string>
     <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Mode personnalisé"</string>
     <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nom du mode"</string>
-    <!-- no translation found for zen_mode_edit_name_empty_error (5788063278827188275) -->
-    <skip />
+    <string name="zen_mode_edit_name_empty_error" msgid="5788063278827188275">"Le nom du mode est obligatoire"</string>
     <string name="zen_mode_edit_choose_icon_title" msgid="6452801577128788362">"Sélectionner une icône"</string>
     <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Événements d\'agenda"</string>
     <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Routine Heure du coucher"</string>
@@ -5051,7 +5043,7 @@
     <string name="lockscreen_privacy_qr_code_scanner_summary" msgid="4577409244972250235">"Autorisez l\'accès au lecteur de code QR à partir de l\'écran verrouillé"</string>
     <string name="lockscreen_privacy_controls_setting_toggle" msgid="7445725343949588613">"Afficher les commandes des appareils"</string>
     <string name="lockscreen_privacy_controls_summary" msgid="7522918441738915364">"À partir de l\'écran de verrouillage"</string>
-    <string name="lockscreen_trivial_controls_setting_toggle" msgid="2174300719855112358">"Utiliser les Commandes de l\'appareil"</string>
+    <string name="lockscreen_trivial_controls_setting_toggle" msgid="2174300719855112358">"Utiliser les commandes de l\'appareil"</string>
     <string name="lockscreen_trivial_disabled_controls_summary" msgid="7593626010580689155">"Pour les utiliser, activez d\'abord « Afficher les commandes de l\'appareil »"</string>
     <string name="lockscreen_double_line_clock_summary" msgid="4109235686687860393">"La taille de l\'horloge varie en fonction du contenu de l\'écran de verrouillage"</string>
     <string name="lockscreen_double_line_clock_setting_toggle" msgid="802271087416091548">"Horloge dynamique"</string>
@@ -5468,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Paramètres de recherche"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contacts, stockage, compte"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Stockage des contacts"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Appareil uniquement"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Les nouveaux contacts ne seront pas synchronisés avec un compte"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Les contacts seront enregistrés sur votre appareil et synchronisés avec votre compte par défaut"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Aucun compte par défaut n\'a été défini"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Ajoutez un compte pour commencer"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Encercler et rechercher"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Maintenez le doigt sur la touche d\'accueil ou sur la barre de navigation pour effectuer une recherche à l\'aide du contenu de votre écran."</string>
 </resources>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 4a2e6e2..1059146 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Flocon de neige"</item>
     <item msgid="7952183800501346803">"Parasol"</item>
     <item msgid="799139025758265891">"Outils d\'atelier"</item>
-    <item msgid="1330084588359129896">"Tente"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Bobine de film"</item>
     <item msgid="5827426100157335512">"Livre"</item>
     <item msgid="8585828346253128384">"Fleur de lotus"</item>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 848870a..7e0edd1 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -181,8 +181,8 @@
     <string name="desc_app_locale_disclaimer" msgid="5295933110644789052">"La langue peut différer de celles disponibles dans l\'appli. Certaines applis ne sont pas compatibles avec ce paramètre."</string>
     <string name="desc_app_locale_selection_supported" msgid="6744909281573556379">"Définissez la langue pour chaque appli."</string>
     <string name="desc_introduction_of_language_picker" msgid="4012265379885200083">"Votre appareil, les applis et les sites Web utilisent la première langue prise en charge de votre liste de langues préférées.\n\nDe nombreuses applis se baseront également sur la région de votre langue préférée pour mettre en forme les dates, les nombres et les unités. Pour modifier votre région, ajoutez une langue, puis sélectionnez votre région préférée."</string>
-    <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Pour sélectionner une langue pour chaque appli, accédez aux paramètres de langue de cette appli."</string>
-    <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"En savoir plus sur les langues des applis"</string>
+    <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Pour sélectionner une langue pour chaque application, accédez aux paramètres de langue de cette application."</string>
+    <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"En savoir plus sur les langues des applications"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Sélectionner %s comme langue du système ?"</string>
     <string name="title_system_locale_addition" msgid="8218683660751479466">"Ajouter %s aux langues préférées ?"</string>
     <string name="desc_system_locale_addition" msgid="3409917362651596070">"Cela permet aux applis et sites Web de savoir que vous préférez aussi cette langue."</string>
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Définir automatiquement à l\'aide de votre réseau et de vos signaux sans fil"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Fuseau horaire automatique"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Définir automatiquement en fonction des réseaux mobiles à proximité"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Définir automatiquement grâce à la position de votre appareil, si celle-ci est disponible. Une connexion Wi-Fi active peut aussi être requise."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Définir automatiquement grâce à la position de votre appareil, si celle-ci est disponible"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Utiliser les paramètres régionaux par défaut"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Utiliser le format 24h"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Heure"</string>
@@ -659,12 +659,9 @@
     <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Définissez un schéma pour l\'espace privé"</string>
     <string name="private_space_category_lock" msgid="1917657024358778169">"Verrouiller"</string>
     <string name="private_space_category_hide" msgid="3236587591523126649">"Masquer"</string>
-    <!-- no translation found for private_space_confirm_your_pattern_header (449382220134788771) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_pin_header (4543332157470087796) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_password_header (9202308075814307169) -->
-    <skip />
+    <string name="private_space_confirm_your_pattern_header" msgid="449382220134788771">"Confirmez le schéma de votre espace privé"</string>
+    <string name="private_space_confirm_your_pin_header" msgid="4543332157470087796">"Saisissez à nouveau le code de votre espace privé"</string>
+    <string name="private_space_confirm_your_password_header" msgid="9202308075814307169">"Saisissez de nouveau le mot de passe de votre espace privé"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Vous pouvez ajouter jusqu\'à <xliff:g id="COUNT">%d</xliff:g> empreintes digitales"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Vous avez ajouté le nombre maximal autorisé d\'empreintes digitales"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossible d\'ajouter d\'autres empreintes digitales"</string>
@@ -1032,10 +1029,8 @@
     <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Vérifiez le mot de passe et réessayez"</string>
     <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contactez le fabricant de l\'appareil"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Vérifiez la connexion et réessayez"</string>
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_ssid (3608318690698685427) -->
-    <skip />
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_security (1462706753123341376) -->
-    <skip />
+    <string name="wifi_dpp_check_connection_no_matched_ssid" msgid="3608318690698685427">"Ce réseau Wi‑Fi n\'est pas disponible pour le moment"</string>
+    <string name="wifi_dpp_check_connection_no_matched_security" msgid="1462706753123341376">"Ce code QR présente un problème. Essayez de vous connecter d\'une autre manière."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Sélectionner un réseau"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Sélectionnez un réseau pour connecter l\'appareil"</string>
     <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"Ajouter cet appareil à \"<xliff:g id="SSID">%1$s</xliff:g>\" ?"</string>
@@ -1951,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilité"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Clavier physique"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Touches à rebonds"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Le clavier ignore les frappes rapides et consécutives d\'une même touche"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Seuil de touches filtres"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Choisissez la durée pendant laquelle votre clavier ignore les frappes consécutives d\'une touche"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personnalisé"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valeur personnalisée"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Touches lentes"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Règle le temps de réponse à la pression d\'une touche"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Touches persistantes"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pour les raccourcis, appuyer sur une touche à la fois au lieu de maintenir les touches enfoncées"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Touches pour la souris"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Utilisez le clavier pour contrôler le pointeur"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Défilement inversé avec la souris"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Faire défiler vers le haut pour déplacer la page vers le bas"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Inverser les boutons gauche et droit"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Utiliser le bouton gauche de la souris comme bouton droit"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Raccourcis clavier"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Afficher la liste des raccourcis"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Claviers et outils du profil professionnel"</string>
@@ -2039,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Choisir une nouvelle touche pour <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> :"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accessibilité du clavier physique"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Touches rémanentes, touches à rebonds, touches pour la souris"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Répéter les touches"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Délai avant répétition"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Fréquence de répétition"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Maintenez une touche enfoncée pour répéter le caractère correspondant jusqu\'à ce que vous la relâchiez"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Mise en page <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Par défaut"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatique : <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2447,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Aperçu"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Options standards"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Langue"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Taille des sous-titres"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Style des sous-titres"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Options de personnalisation"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Couleur d\'arrière-plan"</string>
@@ -2992,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Déconnecter ce VPN ?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Déconnecter"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Version"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Supprimer le VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Remplacer le VPN existant ?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Définir le VPN permanent ?"</string>
@@ -3715,7 +3708,7 @@
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"D\'autres paramètres sont disponibles dans l\'appli"</string>
     <string name="notification_polite_title" msgid="6121016426991791557">"Limitation des notifications"</string>
     <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Utiliser la limitation des notifications"</string>
-    <string name="notification_polite_description" msgid="5497748284893832854">"Si vous recevez beaucoup de notifications en peu de temps, votre appareil baisse le volume et réduit les alertes pendant 2 minutes maximum. Les appels, les alarmes et les conversations prioritaires ne sont pas affectés. \n\nLes notifications reçues pendant la limitation sont accessibles en faisant glisser votre doigt du haut de l\'écran vers le bas."</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"Si vous recevez beaucoup de notifications en peu de temps, votre appareil réduit le volume et les alertes pendant 2 minutes maximum. Les appels, les alarmes et les conversations prioritaires ne sont pas affectés. \n\nLes notifications reçues pendant la limitation sont accessibles en faisant glisser votre doigt du haut de l\'écran vers le bas."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Appliquer aux profils professionnels"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Appliquer aux applis des profils professionnels"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Services d\'assistance RV"</string>
@@ -3924,8 +3917,7 @@
     <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Créer un mode"</string>
     <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Mode personnalisé"</string>
     <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nom du mode"</string>
-    <!-- no translation found for zen_mode_edit_name_empty_error (5788063278827188275) -->
-    <skip />
+    <string name="zen_mode_edit_name_empty_error" msgid="5788063278827188275">"Vous devez indiquer un nom de mode"</string>
     <string name="zen_mode_edit_choose_icon_title" msgid="6452801577128788362">"Sélectionnez une icône"</string>
     <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Événements d\'agenda"</string>
     <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Routine Heure du coucher"</string>
@@ -5468,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Rechercher un paramètre"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contacts, stockage, compte"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Stockage des contacts"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Appareil uniquement"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Les nouveaux contacts ne seront pas synchronisés avec un compte"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Les contacts seront enregistrés sur votre appareil et synchronisés avec votre compte par défaut"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Aucun compte par défaut n\'a été défini"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Ajoutez un compte pour commencer"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Entourer pour chercher"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Appuyez de manière prolongée sur le bouton d\'accueil ou la barre de navigation pour effectuer une recherche basée sur le contenu de votre écran."</string>
 </resources>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index 49cbf33..4ce2f6d 100644
--- a/res/values-gl/arrays.xml
+++ b/res/values-gl/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Folerpa"</item>
     <item msgid="7952183800501346803">"Parasol"</item>
     <item msgid="799139025758265891">"Ferramentas dun taller"</item>
-    <item msgid="1330084588359129896">"Tenda"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Rolo de película"</item>
     <item msgid="5827426100157335512">"Libro"</item>
     <item msgid="8585828346253128384">"Flor de loto"</item>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index c9a75b7..16724c2 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"A data e a hora definiranse automaticamente coa axuda da rede e os sinais sen fíos"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Fuso horario automático"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"O fuso horario definirase automaticamente en función das redes de telefonía móbil que teñas preto"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Data e hora automáticas segundo a localización do dispositivo. Pódese precisar unha conexión wifi activa."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"A data e hora definiranse automaticamente segundo a localización do dispositivo, se está dispoñible"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar configuración rexional predeterminada"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Usar formato de 24 horas"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Hora"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilidade"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Teclas de rebote"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"O teclado ignorará as pulsacións repetidas rapidamente da mesma tecla"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Límite das teclas de rebote"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Escolle o tempo durante o cal o teu teclado ignorará as pulsacións repetidas"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personalizado"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valor personalizado"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Axusta o tempo que se tarda en activar a pulsación dunha tecla"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas presas"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Preme unha tecla de cada vez para os atallos, en lugar de manter premidas varias"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Teclas para o rato"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Usa o teclado para controlar o punteiro"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Desprazamento inverso do rato"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Desprázate cara arriba para mover a páxina cara abaixo"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Cambiar botóns esquerdo e dereito"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Usa o botón esquerdo do rato como se fose o dereito"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Atallos de teclado"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostra a lista de atallos"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados e ferramentas do perfil de traballo"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Escolle unha nova tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accesibilidade do teclado físico"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Teclas presas, teclas de rebote, teclas para o rato"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repetición de teclas"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Retardo previo á repetición"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Índice de repetición"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Mantén premida unha tecla para repetir o seu carácter ata que a soltes"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Deseño: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predeterminado"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Selección automática: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Vista previa"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opcións estándar"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Idioma"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Tamaño dos subtítulos"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Estilo dos subtítulos"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opcións personalizadas"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Cor do fondo"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Queres desconectar esta VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Desconectar"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versión"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versión <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Esquecer perfil da VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Queres substituír a VPN existente?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Queres definir a VPN como sempre activa?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Buscar en Configuración"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contactos, almacenamento, conta"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Almacenamento de contactos"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Só dispositivo"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Os novos contactos non se sincronizarán cunha conta"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"De forma predeterminada, os contactos gardaranse no teu dispositivo e sincronizaranse coa túa conta"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Non se definiu ningunha conta predeterminada"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Engade unha conta para comezar"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Rodear para buscar"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Mantén premido o botón de inicio ou o controlador de navegación para facer buscas usando o contido da pantalla."</string>
 </resources>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index bdd9ff1..20b2ced 100644
--- a/res/values-gu/arrays.xml
+++ b/res/values-gu/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"સ્નોફ્લૅક"</item>
     <item msgid="7952183800501346803">"બીચ પરની છત્રી"</item>
     <item msgid="799139025758265891">"વર્કશોપ ટૂલ"</item>
-    <item msgid="1330084588359129896">"તંબુ"</item>
+    <item msgid="8112685757657659269">"પિયાનો"</item>
     <item msgid="3861584909935022342">"ફિલ્મ રીલ"</item>
     <item msgid="5827426100157335512">"પુસ્તક"</item>
     <item msgid="8585828346253128384">"કમળનું ફૂલ"</item>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 84e4b26..c9ecbc1 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"તમારું નેટવર્ક અને વાયરલેસ સિગ્નલ વડે ઑટોમૅટિક રીતે સેટ કરેલું સેટિંગ"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ઑટોમૅટિક ટાઇમ ઝોન"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"તમારી નજીકના મોબાઇલ નેટવર્કના આધારે ઑટોમૅટિક રીતે સેટ કરેલું સેટિંગ"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"ઉપલબ્ધ હોવા પર ડિવાઇસના લોકેશન વડે ઑટો સેટ કરો. કોઈ સક્રિય વાઇ-ફાઇ કનેક્શન હોવું આવશ્યક હોઈ શકે છે."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"ઉપલબ્ધ હોવા પર ડિવાઇસના લોકેશન વડે ઑટોમૅટિક રીતે સેટ કરો"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ડિફૉલ્ટ લોકેલનો ઉપયોગ કરો"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-કલાક ફોર્મેટનો ઉપયોગ કરો"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"સમય"</string>
@@ -1698,7 +1698,7 @@
     <string name="lockpassword_choose_your_pin_header_for_biometrics" msgid="9086039918921009380">"ચહેરા અથવા ફિંગરપ્રિન્ટનો ઉપયોગ કરવા માટે પિન સેટ કરો"</string>
     <string name="lockpassword_forgot_password" msgid="5730587692489737223">"તમારો પાસવર્ડ ભૂલી ગયાં?"</string>
     <string name="lockpassword_forgot_pattern" msgid="1196116549051927516">"તમારા પૅટર્નને ભૂલી ગયાં?"</string>
-    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"તમારો પિન ભૂલી ગયાં?"</string>
+    <string name="lockpassword_forgot_pin" msgid="7164232234705747672">"તમારો પિન ભૂલી ગયા?"</string>
     <string name="lockpassword_confirm_your_pattern_generic" msgid="7401165571170203743">"ચાલુ રાખવા માટે તમારી પૅટર્ન દોરો"</string>
     <string name="lockpassword_confirm_your_pin_generic" msgid="8990266101852808091">"ચાલુ રાખવા માટે તમારો પિન દાખલ કરો"</string>
     <string name="lockpassword_confirm_your_password_generic" msgid="8823867445451497224">"ચાલુ રાખવા માટે તમારો પાસવર્ડ દાખલ કરો"</string>
@@ -1949,15 +1949,26 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"એક જ કીને વારંવાર ઝડપથી દબાવવાની પ્રક્રિયાની કીબોર્ડ અવગણના કરે છે"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"બાઉન્સ કી સંબંધિત મર્યાદા"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"વારંવાર દબાવવામાં આવતી તમારા કીબોર્ડની કીને અવગણવા માટે જરૂરી અવધિ પસંદ કરો"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2 સેકન્ડ"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4 સેકન્ડ"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6 સેકન્ડ"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
+    <skip />
     <string name="slow_keys" msgid="2891452895499690837">"ધીમી કી"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"કોઈ કીને દબાવવાથી સક્રિય થવામાં લાગતા સમયમાં વધઘટ કરે છે"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"સ્ટીકી કી"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"શૉર્ટકટ માટે કીને એકસાથે દબાવી રાખવાને બદલે એક સમયે એક જ કી દબાવો"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"માઉસની કી"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"પૉઇન્ટરનું નિયંત્રણ કરવા માટે, તમારા કીબોર્ડનો ઉપયોગ કરો"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"માઉસનું રિવર્સ સ્ક્રોલિંગ"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"પેજને નીચે લઈ જવા માટે ઉપર સ્ક્રોલ કરો"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"ડાબા અને જમણા બટનને સ્વૉપ કરો"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"માઉસના ડાબા બટનનો ઉપયોગ તમારા જમણા બટન તરીકે કરો"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"કીબોર્ડ શૉર્ટકટ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"શૉર્ટકટની સૂચિ બતાવો"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"કાર્યાલયનું પ્રોફાઇલ અને સાધનો"</string>
@@ -2026,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> માટે નવી કી પસંદ કરો:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"વાસ્તવિક કીબોર્ડની ઍક્સેસિબિલિટી"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"સ્ટીકી કી, બાઉન્સ કી, માઉસ કી"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"કી રિપીટ કરો"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"રિપીટ થવા પહેલાંનો વિલંબ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"રિપીટ રેટ"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"જ્યાં સુધી કી રિલીઝ કરવામાં ન આવે ત્યાં સુધી કીના અક્ષરો રિપીટ કરવા માટે તેને નીચેની તરફ દબાવી રાખો"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> લેઆઉટ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ડિફૉલ્ટ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ઑટોમૅટિક રીતે: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"પ્રીવ્યૂ"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"સ્ટૅન્ડર્ડ વિકલ્પો"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ભાષા"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"કૅપ્શનનું કદ"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"કૅપ્શન શૈલી"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"કસ્ટમ વિકલ્પો"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"બૅકગ્રાઉન્ડ રંગ"</string>
@@ -2979,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"આ VPNને ડિસ્કનેક્ટ કરીએ?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ડિસ્કનેક્ટ કરો"</string>
     <string name="vpn_version" msgid="6344167191984400976">"વર્ઝન"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"વર્ઝન <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN ભૂલી ગયાં"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"અસ્તિત્વમાંની VPN ને બદલીએ?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"હંમેશાં ચાલુ VPN સેટ કરીએ?"</string>
@@ -5457,6 +5468,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"ફક્ત ડિવાઇસ"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"નવા સંપર્કોને કોઈ એકાઉન્ટ સાથે સિંક કરવામાં આવશે નહીં"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"ડિફૉલ્ટ તરીકે, સંપર્કોને તમારા ડિવાઇસમાં સાચવવામાં આવશે અને તેને તમારા એકાઉન્ટ સાથે સિંક કરવામાં આવશે"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"કોઈ ડિફૉલ્ટ સેટ નથી"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"શરૂ કરવા માટે કોઈ એકાઉન્ટ ઉમેરો"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"શોધવા માટે વર્તુળ દોરો"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"તમારી સ્ક્રીન પરના કન્ટેન્ટનો ઉપયોગ કરીને શોધવા માટે હોમ બટનને અથવા નૅવિગેશન હૅન્ડલને ટચ કરીને થોડીવાર દબાવી રાખો."</string>
 </resources>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index 0ff7011..7ff6293 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"स्नोफ़्लेक"</item>
     <item msgid="7952183800501346803">"बीच अंब्रेला"</item>
     <item msgid="799139025758265891">"वर्कशॉप टूल"</item>
-    <item msgid="1330084588359129896">"टेंट"</item>
+    <item msgid="8112685757657659269">"पियानो"</item>
     <item msgid="3861584909935022342">"फ़िल्म रील"</item>
     <item msgid="5827426100157335512">"किताब"</item>
     <item msgid="8585828346253128384">"कमल का फूल"</item>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index eb6ede7..56ffb40 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"नेटवर्क और वायरलेस सिग्नल के ज़रिए तारीख और समय अपने-आप सेट होने की सुविधा पाएं"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"टाइम ज़ोन अपने-आप सेट होने की सुविधा"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"अपने आस-पास के मोबाइल नेटवर्क के मुताबिक तारीख और समय अपने-आप सेट होने की सुविधा पाएं"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"डिवाइस की जगह के हिसाब से समय और तारीख अपने-आप सेट होने की सुविधा पाएं. इसमें वाई-फ़ाई की ज़रूरत पड़ सकती है."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"उपलब्ध होने पर, डिवाइस की जगह के हिसाब से समय और तारीख अपने-आप सेट होने की सुविधा पाएं"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"जगह और भाषा के हिसाब से समय का फ़ॉर्मैट सेट करें"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-घंटे वाले फ़ॉर्मैट का इस्तेमाल करें"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"समय"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"सुलभता सुविधा"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"सामान्य कीबोर्ड"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"बाउंस बटन"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"एक ही बटन को बार-बार दबाने पर, कीबोर्ड तुरंत कोई कार्रवाई नहीं करेगा"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"बाउंस बटन का थ्रेशोल्ड"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"चुनें कि किसी बटन को कितनी देर तक बार-बार दबाने पर कीबोर्ड कोई कार्रवाई नहीं करेगा"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 सेकंड"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 सेकंड"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 सेकंड"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"अपने हिसाब से सेट करें"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"अपने हिसाब से वैल्यू सेट करें"</string>
     <string name="slow_keys" msgid="2891452895499690837">"स्लो बटन"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"किसी बटन को दबाने पर स्क्रीन पर होने वाली प्रतिक्रिया के समय में बदलाव करें"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"स्टिकी बटन"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"शॉर्टकट के लिए, कई कुंजियों को एक साथ दबाकर रखने के बजाय एक बार में एक कुंजी दबाएं"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"माउस का काम करने वाले बटन"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"पॉइंटर को कंट्रोल करने के लिए, कीबोर्ड का इस्तेमाल करें"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"माउस रिवर्स स्क्रोलिंग"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"पेज को नीचे ले जाने के लिए, ऊपर की ओर स्क्रोल करें"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"बाएं और दाएं बटन स्वैप करें"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"माउस के बाएं बटन को दाएं बटन की तरह इस्तेमाल करें"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"कीबोर्ड शॉर्टकट"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"शॉर्टकट की सूची दिखाएं"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"काम के प्रोफ़ाइल से जुड़े कीबोर्ड और टूल"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> के लिए, कोई नई कुंजी चुनें:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"फ़िज़िकल कीबोर्ड की सुलभता सेटिंग"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"स्टिकी बटन, बाउंस बटन, माउस बटन"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"बटन को दबाकर रखें"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"कीबोर्ड का बटन दबाकर दोहराने में लगने वाला समय"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"दोहराने की दर"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"किसी बटन को दबाकर रखने पर, उस बटन का वर्ण तब तक दोहराया जाएगा, जब तक बटन को छोड़ा नहीं जाता"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> का लेआउट"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"डिफ़ॉल्ट"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"अपने-आप चुना गया: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"झलक"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"मानक विकल्प"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"भाषा"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"कैप्शन का साइज़"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"कैप्शन की स्टाइल"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"आपके मुताबिक विकल्प"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"पृष्ठभूमि का रंग"</string>
@@ -2883,7 +2880,7 @@
     <string name="background_data_summary" msgid="6572245922513522466">"ऐप्लिकेशन किसी भी समय डेटा सिंक कर सकते हैं, भेज और पा सकते हैं"</string>
     <string name="background_data_dialog_title" msgid="1692005302993229867">"पृष्ठभू. डेटा अक्षम करें?"</string>
     <string name="background_data_dialog_message" msgid="7760280837612824670">"बैकग्राउंड डेटा को बंद करने से बैटरी ज़्यादा चलती है और डेटा कम खर्च होता है. हो सकता है कि कुछ ऐप अब भी बैकग्राउंड में डेटा इस्तेमाल कर रहे हों."</string>
-    <string name="sync_enabled" msgid="5794103781356455043">"समन्वयन चालू है"</string>
+    <string name="sync_enabled" msgid="5794103781356455043">"सिंक करने की सेटिंग चालू है"</string>
     <string name="sync_disabled" msgid="1636223106968593391">"सिंक बंद है"</string>
     <string name="sync_error" msgid="846923369794727644">"समन्वयन गड़बड़ी"</string>
     <string name="last_synced" msgid="1527008461298110443">"पिछली बार सिंक करने का समय: <xliff:g id="LAST_SYNC_TIME">%1$s</xliff:g>"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"इस VPN को डिसकनेक्ट करना चाहते हैं?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"डिसकनेक्ट करें"</string>
     <string name="vpn_version" msgid="6344167191984400976">"वर्शन"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"वर्शन <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"इस वीपीएन नेटवर्क को हटाएं"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"मौजूदा वीपीएन को बदलें?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"हमेशा-चालू VPN सेट करें?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"सेटिंग खोजें"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"संपर्क, स्टोरेज, खाता"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"संपर्क स्टोरेज"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"संपर्क सिर्फ़ डिवाइस में सेव करें"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"नए संपर्क किसी खाते से सिंक नहीं किए जाएंगे"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"डिफ़ॉल्ट रूप से, संपर्क आपके डिवाइस में सेव हो जाएंगे और आपके खाते से सिंक हो जाएंगे"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"डिफ़ॉल्ट खाता सेट नहीं किया गया है"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"सिंक करने के लिए कोई खाता जोड़ें"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"सर्कल बनाकर ढूंढें"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"स्क्रीन पर दिख रहे कॉन्टेंट की मदद से कोई चीज़ खोजने के लिए, होम बटन या नेविगेशन हैंडल को दबाकर रखें."</string>
 </resources>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index 3af0878..baef0e8 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snježna pahuljica"</item>
     <item msgid="7952183800501346803">"Suncobran za plažu"</item>
     <item msgid="799139025758265891">"Radionički alati"</item>
-    <item msgid="1330084588359129896">"Šator"</item>
+    <item msgid="8112685757657659269">"Klavir"</item>
     <item msgid="3861584909935022342">"Filmska vrpca"</item>
     <item msgid="5827426100157335512">"Knjiga"</item>
     <item msgid="8585828346253128384">"Lotosov cvijet"</item>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 0e4123c..3a6ff22 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Postavi automatski pomoću mreže i bežičnih signala"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatska vremenska zona"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Automatski postavi na temelju mobilnih mreža u blizini"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Postavi automatski pomoću lokacije uređaja, ako je dostupna. Možda je potrebna i aktivna Wi-Fi veza."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Postavi automatski pomoću lokacije uređaja, ako je dostupna"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Koristi zadani lokalni format"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Koristi 24-satni format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Vrijeme"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Tipkovnica zanemaruje brzo ponovljene pritiske iste tipke"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Prag zanemarivanja slučajnih pritisaka"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Odaberite koliko dugo će tipkovnica zanemarivati ponovljene pritiske tipki"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Prilagođeno"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"prilagođena vrijednost"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Spore tipke"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Prilagođava vrijeme potrebno za aktivaciju pritiska tipke"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Ljepljive tipke"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pritisnite jednu po jednu tipku za prečace umjesto da ih pritisnete zajedno"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Tipke miša"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Upravljajte pokazivačem pomoću tipkovnice"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Obrnuto pomicanje pomoću miša"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Pomičite se prema gore za pomicanje stranice prema dolje"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Zamjena lijeve i desne tipke"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Upotrebljavajte lijevu tipku miša kao desnu"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tipkovni prečaci"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Prikaži popis prečaca"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tipkovnice i alati radnog profila"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Odaberite novu tipku za <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Pristupačnost fizičke tipkovnice"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Ljepljive tipke, sprečavanje slučajnih pritisaka tipki, tipke miša"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Tipke za ponavljanje unosa"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Odgodi prije ponavljanja"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Stopa ponavljanja"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Pritisnite tipku i zadržite pritisak da biste ponavljali unos znaka dok je ne otpustite"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Izgled: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Zadano"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatski: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Pregled"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardne opcije"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Jezik"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Veličina titlova"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Stil titlova"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Prilagođene opcije"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Boja pozadine"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Prekinuti vezu s VPN-om?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Prekini vezu"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Verzija"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Verzija <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Zaboravi VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Želite li zamijeniti dosadašnji VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Želite li postaviti uvijek uključeni VPN?"</string>
@@ -3701,7 +3707,7 @@
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"Više postavki"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"Više postavki dostupno je unutar aplikacije"</string>
     <string name="notification_polite_title" msgid="6121016426991791557">"Postupno stišavanje obavijesti"</string>
-    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Postupno stišavanje obavijesti"</string>
+    <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Postupno stišaj obavijesti"</string>
     <string name="notification_polite_description" msgid="5497748284893832854">"Ako u kratkom vremenskom razdoblju primite velik broj obavijesti, uređaj će smanjiti glasnoću i minimizirati upozorenja u trajanju do dvije minute. To ne utječe na pozive, alarme i prioritetne razgovore. \n\nObavijesti primljene tijekom stišavanja mogu se pronaći tako da povučete prstom prema dolje s vrha zaslona."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Primijeni na poslovne profile"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"Primjenjuje se na aplikacije poslovnog profila"</string>
@@ -4395,7 +4401,7 @@
     <string name="dark_theme_slice_title" msgid="4684222119481114062">"Isprobajte Tamnu temu"</string>
     <string name="dark_theme_slice_subtitle" msgid="5555724345330434268">"Pomaže produljiti trajanje baterije"</string>
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Pločice brzih postavki za razvojne programere"</string>
-    <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Onemogući vrijeme čekanja za autorizacije za adb"</string>
+    <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Onemogući istek vremena za autorizaciju ADB-a"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Onemogućite automatski opoziv autorizacija za adb za sustave koji se ne povežu u zadanom razdoblju (sedam dana) ili korisnički konfiguriranom razdoblju (najmanje jedan dan)."</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Senzori su isključeni"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Postavke poslovnog profila"</string>
@@ -4924,7 +4930,7 @@
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Došlo je do pogreške. Aplikacija je otkazala zahtjev za odabir uređaja."</string>
     <string name="network_connection_connect_successful" msgid="2587314077675642476">"Povezivanje je uspjelo"</string>
     <string name="network_connection_connect_failure" msgid="6803313816657494319">"Povezivanje nije uspjelo"</string>
-    <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Pokaži sve"</string>
+    <string name="network_connection_request_dialog_showall" msgid="6392059758456994944">"Prikaži sve"</string>
     <string name="network_connection_searching_message" msgid="8521819623516926482">"Traženje uređaja…"</string>
     <string name="network_connection_connecting_message" msgid="433189540877274889">"Povezivanje s uređajem…"</string>
     <string name="bluetooth_left_name" msgid="7440064067910080502">"Lijevo"</string>
@@ -5445,7 +5451,7 @@
     <string name="audio_streams_main_page_device_title" msgid="2635744035523908253">"Vaš audiouređaj"</string>
     <string name="audio_streams_main_page_no_device_summary" msgid="2936000845397406389">"Poveži kompatibilne slušalice"</string>
     <string name="audio_streams_main_page_scan_section_title" msgid="2778235929304061163">"Audiostreamovi u blizini"</string>
-    <string name="audio_streams_main_page_scan_qr_code_title" msgid="8337270277392468895">"Skeniranje QR koda"</string>
+    <string name="audio_streams_main_page_scan_qr_code_title" msgid="8337270277392468895">"Skenirajte QR kod"</string>
     <string name="audio_streams_main_page_scan_qr_code_summary" msgid="1991792283368249499">"Skenirajte QR kôd streama i počnite slušati"</string>
     <string name="audio_streams_main_page_password_dialog_join_button" msgid="2967747276379153408">"Slušajte stream"</string>
     <string name="audio_streams_main_page_qr_code_scanner_summary" msgid="5312980105735143360">"Skenirajte QR kôd audiostreama da biste slušali s uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
@@ -5458,6 +5464,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Samo uređaj"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Novi kontakti neće se sinkronizirati s računom"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakti će se spremiti na vaš uređaj i prema zadanim postavkama sinkronizirati s vašim računom"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nema zadane postavke"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Dodajte račun da biste započeli"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Zaokružite i potražite"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Dodirnite gumb početnog zaslona ili oznaku za navigaciju i zadržite pritisak za pretraživanje pomoću sadržaja na vašem zaslonu."</string>
 </resources>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index d6002b8..44532f9 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Hópehely"</item>
     <item msgid="7952183800501346803">"Strandernyő"</item>
     <item msgid="799139025758265891">"Workshop-eszközök"</item>
-    <item msgid="1330084588359129896">"Sátor"</item>
+    <item msgid="8112685757657659269">"Zongora"</item>
     <item msgid="3861584909935022342">"Filmtekercs"</item>
     <item msgid="5827426100157335512">"Könyv"</item>
     <item msgid="8585828346253128384">"Lótuszvirág"</item>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 26bb57c..4b4ee03 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Automatikus beállítás a hálózat és a vezeték nélküli jelek alapján"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatikus időzóna"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Automatikus beállítás a közeli mobilhálózatok alapján"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Automatikus beállítás az eszköz helyadatai alapján (ha rendelkezésre állnak). Aktív Wi-Fi-re is szükség lehet."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Automatikus beállítás az eszköz helyadatai alapján (ha rendelkezésre állnak)"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Helyi alapértelmezés használata"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 órás formátum használata"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Idő"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Kisegítő lehetőségek"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizikai billentyűzet"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Billentyűblokkolás"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"A billentyűzet nem veszi figyelembe, ha ugyanazt a billentyűt gyorsan egymás után többször is lenyomja."</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Billentyűblokkolás küszöbértéke"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Válassza ki, hogy a billentyűzet mennyi ideig hagyja figyelmen kívül az ismétlődő gombnyomásokat."</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 mp"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 mp"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 mp"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Egyéni"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"egyéni érték"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Lassú billentyűk"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Módosítja a billentyű lenyomásától az aktiválásig eltelő időtartamot."</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Beragadó billentyűk"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Egyszerre egy billentyű lenyomásával használhat billentyűparancsokat több billentyű egyszeri lenyomva tartása helyett"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Egérgombok"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"A billentyűzettel vezérelheti a mutatót."</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Fordított görgetés az egérrel"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Az oldal lefelé mozgatásához görgessen felfelé"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Bal és jobb gomb felcserélése"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"A bal egérgomb használata jobb egérgombként"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Billentyűparancsok"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Billentyűparancsok listájának megjelenítése"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Munkaprofil billentyűzetei és eszközei"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Válasszon új billentyűt a(z) <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> számára:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Fizikai billentyűzet kisegítő lehetőségei"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Beragadó billentyűk, billentyűblokkolás, egérgombok"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Ismétlődő billentyűk"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Ismétlés előtti késleltetés"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Ismétlési sebesség"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Ha lenyomva tartja valamelyik billentyűt, a billentyűhöz tartozó karakter többször is bevitelre kerül, amíg fel nem emeli az ujját."</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> elrendezés"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Alapértelmezett"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatikus: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Előnézet"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Normál beállítások"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Nyelv"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Felirat mérete"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Felirat stílusa"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Egyéni beállítások"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Háttérszín"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Leválasztja a VPN-t?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Leválasztás"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Verzió"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Verzió: <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN elfelejtése"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Lecseréli a meglévő VPN-t?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Beállítja a mindig bekapcsolt VPN-t?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Keresési beállítások"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"névjegyek, tárhely, fiók"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Névjegytár"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Csak az eszközön"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Az új névjegyeket semmilyen fiókkal nem szinkronizálja a rendszer."</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"A névjegyek alapértelmezés szerint az eszközére lesznek mentve, és szinkronizálódnak a fiókjával."</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nincs alapértelmezett beállítás"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"A kezdéshez adjon hozzá egy fiókot."</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Bekarikázással keresés"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Tartsa lenyomva a Kezdőképernyő gombot vagy a navigációs fogópontot a képernyőn lévő tartalommal való kereséshez."</string>
 </resources>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index b64125d..5ea9fd9 100644
--- a/res/values-hy/arrays.xml
+++ b/res/values-hy/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Ձյան փաթիլ"</item>
     <item msgid="7952183800501346803">"Լողափի հովանոց"</item>
     <item msgid="799139025758265891">"Արհեստանոցի գործիքներ"</item>
-    <item msgid="1330084588359129896">"Վրան"</item>
+    <item msgid="8112685757657659269">"Դաշնամուր"</item>
     <item msgid="3861584909935022342">"Ֆիլմի սյուժե"</item>
     <item msgid="5827426100157335512">"Գիրք"</item>
     <item msgid="8585828346253128384">"Լոտոսի ծաղիկ"</item>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index 9994576..95c3479 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Ավտոմատ կարգավորել՝ օգտագործելով ցանցը և անլար ազդանշանները"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Ժամային գոտու ավտոմատ որոշում"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Ավտոմատ սահմանել՝ հիմնվելով ձեր մոտակայքում գործող բջջային ցանցերի վրա"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Ավտոմատ կարգավորել՝ օգտագործելով սարքի տեղադրությունը, եթե առկա է։ Կարող է նաև պահանջվել Wi-Fi կապ։"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Ավտոմատ կարգավորել՝ օգտագործելով սարքի տեղադրությունը, եթե առկա է"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Օգտագործել կանխադրված տեղույթը"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Օգտագործել 24-ժամյա ձևաչափը"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Ժամը"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Հատուկ գործառույթներ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Ֆիզիկական ստեղնաշար"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Կրկնակի սեղմման անտեսում"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Ստեղնաշարը անտեսում է միևնույն ստեղնի կրկնվող արագ սեղմումները"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Կրկնվող սեղմումների անտեսման շեմ"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Ընտրեք, թե որքան ժամանակ պետք է անտեսվեն ստեղնաշարի ստեղների կրկնվող սեղմումները"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 վ"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 վ"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 վ"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Այլ"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"հատուկ արժեք"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Դանդաղ ստեղներ"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Կարգավորում է ժամանակի տևողությունը, որից հետո ստեղնը արձագանքում է սեղմմանը"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Կպչուն ստեղներ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Դյուրանցումների համար միաժամանակ սեղմեք մեկ ստեղն, այլ ոչ թե միասին սեղմած պահեք մի քանիսը"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Մկնիկի ստեղներ"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Ցուցիչը կառավարել ստեղնաշարի միջոցով"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Մկնիկով հետադարձ ոլորում"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Ոլորեք վերև՝ էջի ներքև անցնելու համար"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Տեղերով փոխել աջ և ձախ կոճակները"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Օգտագործեք մկնիկի ձախ կոճակը որպես աջը"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Ստեղնային դյուրանցումներ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Ցույց տալ ստեղնաշարի դյուրանցումների ցանկը"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Աշխատանքային պրոֆիլի ստեղնաշարեր և գործիքներ"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Ընտրել նոր ստեղն <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> ստեղնի փոխարեն՝"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Ֆիզիկական ստեղնաշարի հատուկ գործառույթներ"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Կպչուն ստեղներ, Վերադարձի ստեղներ, Մկնիկի ստեղներ"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Ստեղների նիշերի կրկնություն"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Հապաղում կրկնությունից առաջ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Կրկնման արագությունը"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Կրկնել ստեղնի նիշն այնքան ժամանակ, քանի դեռ ստեղնը սեղմված է"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> դասավորություն"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Կանխադրված"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Ավտոմատ՝ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Նախադիտում"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Սովորական ընտրանքներ"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Լեզու"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Ենթագրերի չափսը"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Ենթագրերի ոճը"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Հատուկ ընտրանքներ"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Ֆոնի գույնը"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Անջատե՞լ այս VPN-ը:"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Անջատել"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Տարբերակ"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Տարբերակ <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Մոռանալ VPN-ը"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Փոխարինե՞լ ընթացիկ VPN-ը:"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Սահմանե՞լ որպես «միշտ միացված» VPN:"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Որոնեք կարգավորումներում"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"կոնտակտներ, տարածք, հաշիվ"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Կոնտակտների տարածք"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Միայն սարքում"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Նոր կոնտակտները չեն համաժամացվի հաշվի հետ"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Կոնտակտներն ըստ կանխադրման կպահվեն սարքում և կհամաժամացվեն ձեր հաշվի հետ"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Որևէ հաշիվ սահմանված չէ որպես կանխադրված"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Սկսելու համար ավելացրեք հաշիվ"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Շրջագծել որոնելու համար"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Հպեք և պահեք գլխավոր էկրանի կոճակը կամ նավիգացիայի նշիչը, որպեսզի որոնեք՝ օգտագործելով ձեր էկրանի բովանդակությունը։"</string>
 </resources>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index 55f7adf..cae7ae6 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Kepingan salju"</item>
     <item msgid="7952183800501346803">"Payung pantai"</item>
     <item msgid="799139025758265891">"Alat workshop"</item>
-    <item msgid="1330084588359129896">"Tenda"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Rol film"</item>
     <item msgid="5827426100157335512">"Buku"</item>
     <item msgid="8585828346253128384">"Bunga teratai"</item>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index a8bea08..6ccb9f8 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Setel secara otomatis menggunakan jaringan dan sinyal nirkabel Anda"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Zona waktu otomatis"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Setel otomatis berdasarkan jaringan seluler di sekitar Anda"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Setel secara otomatis menggunakan lokasi perangkat, jika tersedia. Koneksi Wi-Fi yang aktif juga mungkin diperlukan."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Setel secara otomatis menggunakan lokasi perangkat, jika tersedia"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Gunakan default lokalitas"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Gunakan format 24 jam"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Waktu"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Aksesibilitas"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Keyboard fisik"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Tombol pantul"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Keyboard mengabaikan penekanan tombol yang sama secara berulang dan cepat"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Batas tombol pantul"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Pilih durasi waktu keyboard Anda mengabaikan penekanan tombol berulang"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 dtk"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 dtk"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 dtk"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Kustom"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"Nilai kustom"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Tombol lambat"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Menyesuaikan waktu yang diperlukan penekanan tombol untuk diaktifkan"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tombol lekat"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tekan satu tombol pada satu waktu untuk mengaktifkan pintasan, bukan menekan tombol secara bersamaan"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Tombol mouse"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Gunakan keyboard untuk mengontrol kursor"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Scroll terbalik mouse"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Scroll ke atas untuk memindahkan halaman ke bawah"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Tukar tombol kiri dan kanan"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Gunakan tombol mouse kiri sebagai tombol kanan"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Pintasan keyboard"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Tampilkan daftar pintasan"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Keyboard &amp; fitur profil kerja"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Pilih tombol baru untuk <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Aksesibilitas keyboard fisik"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Tombol lekat, Tombol pantul, Tombol mouse"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Tombol Ulangi"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Tunda sebelum mengulangi"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Rasio Pengulangan"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Menahan tombol untuk mengulangi karakternya hingga tombol dilepaskan"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Tata letak <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Otomatis: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Pratinjau"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opsi standar"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Bahasa"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Ukuran teks"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Gaya teks"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opsi khusus"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Warna latar belakang"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Putuskan sambungan VPN ini?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Putuskan koneksi"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versi"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versi <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Lupakan VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Ganti VPN yang sudah ada?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Setel VPN selalu aktif?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Telusuri Setelan"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontak, penyimpanan, akun"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Penyimpanan kontak"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Perangkat saja"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Kontak baru tidak akan disinkronkan dengan akun"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontak akan disimpan ke perangkat dan disinkronkan ke akun Anda secara default"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Tidak ada default yang disetel"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Tambahkan akun untuk memulai"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Lingkari untuk Menelusuri"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Sentuh lama tombol Layar utama atau tuas navigasi untuk menelusuri menggunakan konten di layar."</string>
 </resources>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index eacf406..bbc7b6f 100644
--- a/res/values-is/arrays.xml
+++ b/res/values-is/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snjókorn"</item>
     <item msgid="7952183800501346803">"Sólhlíf"</item>
     <item msgid="799139025758265891">"Verkfæri"</item>
-    <item msgid="1330084588359129896">"Tjald"</item>
+    <item msgid="8112685757657659269">"Píanó"</item>
     <item msgid="3861584909935022342">"Gamaldags filma"</item>
     <item msgid="5827426100157335512">"Bók"</item>
     <item msgid="8585828346253128384">"Lótusblóm"</item>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 50610bc..181dafd 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Stilla sjálfvirkt með því að nota merki netkerfis og þráðlaus merki"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Sjálfvirkt tímabelti"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Stilla sjálfvirkt samkvæmt farsímakerfum nálægt þér"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Stilla sjálfvirkt með því að nota staðsetningu tækis, ef tiltæk. Virkrar Wifi-tengingar kann einnig að vera krafist."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Sjálfvirk stilling út frá staðsetningu tækis, ef tiltæk"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Nota sjálfgefið snið staðar"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Nota 24 tíma snið"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Tími"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Aðgengi"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Vélbúnaðarlyklaborð"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Endurkastslyklar"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Lyklaborðið hunsar þegar þú ýtir snöggt og endurtekið á sama lykilinn"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Mörk endurkastslykils"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Veldu tímann sem lyklaborðið þitt hunsar lykil í þegar þú ýtir endurtekið á hann"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 sek."</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 sek."</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 sek."</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Sérsniðið"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"sérsniðið gildi"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Hægir lyklar"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Breyttu tímanum sem það tekur fyrir lykil að virkjast eftir að þú ýtir á hann"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Festilyklar"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Ýttu á einn lykil í einu fyrir flýtilykla í staðinn fyrir að halda lyklum saman niðri"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Músarhnappar"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Notaðu lyklaborðið til að stjórna bendlinum"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Öfug fletting músar"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Flettu upp til að færa síðuna niður"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Víxla hægri og vinstri hnappi"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Notaðu vinstri músarhnappinn sem hægri hnapp"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Flýtilyklar"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Sýna lista yfir flýtileiðir"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Lyklaborð og verkfæri vinnusniðs"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Veldu nýjan lykil fyrir <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Aðgengi vélbúnaðarlyklaborðs"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Festilyklar, endurkastslyklar, músarhnappar"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Takkar fyrir endurtekningu"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Töf á undan endurtekningu"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Hraði endurtekninga"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Haltu takka niðri til að endurtaka stafi og slepptu til að hætta"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Útlit: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Sjálfgefið"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Sjálfvirkt: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Forskoða"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Hefðbundnir valkostir"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Tungumál"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Stærð skjátexta"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Stíll texta"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Sérsniðnir valkostir"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Bakgrunnslitur"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Aftengja þessa VPN-tengingu?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Aftengja"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Útgáfa"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Útgáfa <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Gleyma VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Skipta út núverandi VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Velja VPN sem alltaf er kveikt á?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Leitarstillingar"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"tengiliðir, geymsla, reikningur"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Tengiliðageymsla"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Aðeins tæki"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nýir tengiliðir verða ekki samstilltir við reikning"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Tengiliðir verða sjálfkrafa vistaðir í tækinu þínu og samstilltir við reikninginn þinn"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Ekkert sjálfgildi stillt"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Bættu reikningi við til að hefjast handa"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Haltu heimahnappnum eða flettihandfanginu inni til að leita út frá efninu sem birtist á skjánum þínum."</string>
 </resources>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 7c6fdf1..8969d0e 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Fiocco di neve"</item>
     <item msgid="7952183800501346803">"Ombrellone da spiaggia"</item>
     <item msgid="799139025758265891">"Strumenti per il workshop"</item>
-    <item msgid="1330084588359129896">"Tenda"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Pellicola"</item>
     <item msgid="5827426100157335512">"Libro"</item>
     <item msgid="8585828346253128384">"Fiore di loto"</item>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 398d538..b7c6da9 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Imposta automaticamente la data e l\'ora utilizzando la rete e gli indicatori wireless"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Fuso orario automatico"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Imposta automaticamente la data e l\'ora in base alle reti mobile nelle tue vicinanze"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Imposta automaticamente la data e l\'ora utilizzando la posizione del dispositivo, se disponibile. Potrebbe essere necessaria anche una connessione Wi-Fi attiva."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Imposta automaticamente la data e l\'ora utilizzando la posizione del dispositivo, se disponibile"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usa impostazioni internazionali predefinite"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Usa il formato 24 ore"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Ora"</string>
@@ -659,12 +659,9 @@
     <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Imposta sequenza per lo spazio privato"</string>
     <string name="private_space_category_lock" msgid="1917657024358778169">"Blocca"</string>
     <string name="private_space_category_hide" msgid="3236587591523126649">"Nascondi"</string>
-    <!-- no translation found for private_space_confirm_your_pattern_header (449382220134788771) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_pin_header (4543332157470087796) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_password_header (9202308075814307169) -->
-    <skip />
+    <string name="private_space_confirm_your_pattern_header" msgid="449382220134788771">"Conferma la sequenza dello spazio privato"</string>
+    <string name="private_space_confirm_your_pin_header" msgid="4543332157470087796">"Inserisci di nuovo il PIN dello spazio privato"</string>
+    <string name="private_space_confirm_your_password_header" msgid="9202308075814307169">"Inserisci di nuovo la password dello spazio privato"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Puoi aggiungere fino a <xliff:g id="COUNT">%d</xliff:g> impronte digitali"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Hai aggiunto il numero massimo di impronte digitali"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossibile aggiungere ulteriori impronte digitali"</string>
@@ -1032,10 +1029,8 @@
     <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Controlla la password e riprova"</string>
     <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Contatta il produttore del dispositivo"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Controlla la connessione e riprova"</string>
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_ssid (3608318690698685427) -->
-    <skip />
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_security (1462706753123341376) -->
-    <skip />
+    <string name="wifi_dpp_check_connection_no_matched_ssid" msgid="3608318690698685427">"Al momento, questa rete Wi-Fi non è disponibile"</string>
+    <string name="wifi_dpp_check_connection_no_matched_security" msgid="1462706753123341376">"Si è verificato un problema con questo codice QR. Prova a connetterti in un altro modo."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Scegli rete"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Per connettere il tuo dispositivo, scegli una rete"</string>
     <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"Aggiungere questo dispositivo alla rete \"<xliff:g id="SSID">%1$s</xliff:g>\"?"</string>
@@ -1330,7 +1325,7 @@
     <string name="screensaver_settings_when_to_dream_bedtime" msgid="3279310576803094771">"Non disponibili perché la modalità Riposo è attiva"</string>
     <string name="screensaver_settings_toggle_title" msgid="6194634226897244374">"Usa il salvaschermo"</string>
     <string name="screensaver_settings_summary_either_long" msgid="371949139331896271">"Durante la ricarica o quando inserito nel dock"</string>
-    <string name="screensaver_settings_summary_dock_and_charging" msgid="8485905100159376156">"Inserito nel dock e in carica"</string>
+    <string name="screensaver_settings_summary_dock_and_charging" msgid="8485905100159376156">"Agganciato alla base e in carica"</string>
     <string name="screensaver_settings_summary_sleep" msgid="6555922932643037432">"Durante la ricarica"</string>
     <string name="screensaver_settings_summary_dock" msgid="6997766385189369733">"Quando inserito nel dock"</string>
     <string name="screensaver_settings_summary_never" msgid="4988141393040918450">"Mai"</string>
@@ -1951,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accessibilità"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Tastiera fisica"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Tasti rimbalzati"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"La tastiera ignora le pressioni ripetute velocemente dello stesso tasto"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Soglia antirimbalzo dei tasti"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Scegli la durata di tempo in cui la tastiera ignora le pressioni ripetute dei tasti"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personalizzato"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valore personalizzato"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Tasti lenti"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Regola il tempo di risposta per la pressione di un tasto"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tasti permanenti"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Premi un tasto alla volta per le scorciatoie invece di tenere premuti più tasti contemporaneamente"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Tasti del mouse"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Usa la tastiera per controllare il puntatore"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Scorrimento invertito del mouse"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Scorri verso l\'alto per spostare la pagina in basso"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Scambia i tasti sinistro e destro"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Usa il tasto sinistro del mouse come il destro"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Scorciatoie da tastiera"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostra l\'elenco di scorciatoie"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastiere e strumenti del profilo di lavoro"</string>
@@ -2039,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Scegli un nuovo tasto per <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accessibilità della tastiera fisica"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Tasti permanenti, tasti rimbalzati, tasti del mouse"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Ripeti tasti"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Ritardo prima della ripetizione"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Frequenza ripetizione"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Tieni premuto un tasto per ripetere il relativo carattere finché non lo rilasci"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Layout <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predefinito"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatico: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2447,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Anteprima"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opzioni standard"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Lingua"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Dimensioni sottotitoli codificati"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Stile sottotitoli"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opzioni personalizzate"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Colore sfondo"</string>
@@ -2992,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Disconnettere questa VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Disconnetti"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versione"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versione <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Rimuovi VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Sostituire la rete VPN esistente?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Impostare la rete VPN sempre attiva?"</string>
@@ -3924,8 +3917,7 @@
     <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Crea una modalità"</string>
     <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modalità personalizzata"</string>
     <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Nome della modalità"</string>
-    <!-- no translation found for zen_mode_edit_name_empty_error (5788063278827188275) -->
-    <skip />
+    <string name="zen_mode_edit_name_empty_error" msgid="5788063278827188275">"Il nome della modalità non può essere vuoto"</string>
     <string name="zen_mode_edit_choose_icon_title" msgid="6452801577128788362">"Scegli un\'icona"</string>
     <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Eventi nel calendario"</string>
     <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Routine Buonanotte"</string>
@@ -5158,7 +5150,7 @@
     <string name="multiple_users_title_keywords" msgid="2395593167746225172">"più, utenti, profili, persone, account, sensore, molti"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Usa debug wireless"</string>
     <string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Usa Preferenze del driver di grafica"</string>
-    <string name="night_light_main_switch_title" msgid="3428298022467805219">"Usa Luminosità notturna"</string>
+    <string name="night_light_main_switch_title" msgid="3428298022467805219">"Usa luminosità notturna"</string>
     <string name="nfc_main_switch_title" msgid="6295839988954817432">"Usa NFC"</string>
     <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"Usa la luminosità adattiva"</string>
     <string name="wifi_calling_main_switch_title" msgid="4070224008346815634">"Usa Chiamate Wi-Fi"</string>
@@ -5468,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Cerca in Impostazioni"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contatti, spazio di archiviazione, account"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Archiviazione contatti"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Solo dispositivo"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"I nuovi contatti non verranno sincronizzati con un account"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"I contatti verranno salvati sul dispositivo e sincronizzati con il tuo account per impostazione predefinita"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nessun account predefinito"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Aggiungi un account per iniziare"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Cerchia e Cerca"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Tocca e tieni premuto il pulsante Home o la barra di navigazione per eseguire una ricerca usando i contenuti sullo schermo."</string>
 </resources>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 6d19195..28db091 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"פתית שלג"</item>
     <item msgid="7952183800501346803">"שמשייה"</item>
     <item msgid="799139025758265891">"כלי עבודה"</item>
-    <item msgid="1330084588359129896">"אוהל"</item>
+    <item msgid="8112685757657659269">"פסנתר"</item>
     <item msgid="3861584909935022342">"סרט צילום (פילם)"</item>
     <item msgid="5827426100157335512">"ספר"</item>
     <item msgid="8585828346253128384">"פרח לוטוס"</item>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 0595601..2dd6fad 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"הגדרה אוטומטית באמצעות הרשת והאותות האלחוטיים"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"אזור זמן אוטומטי"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"הגדרה אוטומטית בהתאם לרשתות הסלולריות בקרבתך"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"‏הגדרה אוטומטית באמצעות מיקום המכשיר, אם האפשרות זמינה. יכול להיות שצריך גם חיבור Wi-Fi פעיל."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"הגדרה אוטומטית באמצעות מיקום המכשיר, אם האפשרות זמינה"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"לפי ברירת המחדל באזור"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"פורמט 24 שעות"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"שעה"</string>
@@ -1804,7 +1804,7 @@
     <string name="application_size_label" msgid="6407051020651716729">"גודל האפליקציה"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"‏אפליקציה של אחסון USB"</string>
     <string name="data_size_label" msgid="7814478940141255234">"נתוני משתמש"</string>
-    <string name="uninstall_text" msgid="315764653029060126">"הסרת התקנה"</string>
+    <string name="uninstall_text" msgid="315764653029060126">"הסרה"</string>
     <string name="uninstall_all_users_text" msgid="5924715251087176474">"להסרת התקנה עבור כל המשתמשים"</string>
     <string name="install_text" msgid="4558333621516996473">"התקנה"</string>
     <string name="disable_text" msgid="5146002260857428005">"השבתה"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"נגישות"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"מקלדת פיזית"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"מקשים חוזרים"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"המערכת מתעלמת מהקשות מהירות חוזרות על אותו המקש במקלדת"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"הסף לסינון הקשות חוזרות"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"צריך לבחור את משך הזמן שבו המערכת מתעלמת מהקשות חוזרות על מקשים במקלדת"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"‫0.2 שניות"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"‫0.4 שניות"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"‫0.6 שניות"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"בהתאמה אישית"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"ערך מותאם אישית"</string>
     <string name="slow_keys" msgid="2891452895499690837">"מקשים איטיים"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"שינוי הזמן שעובר מהקשה על מקש ועד להפעלה שלו"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"מקשים \"דביקים\""</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"מקישים אחד-אחד על רצף של מקשי קיצור, ולא צריך ללחוץ עליהם בו-זמנית."</string>
     <string name="mouse_keys" msgid="6237254627808525540">"מקשי העכבר"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"שליטה בסמן באמצעות המקלדת"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"גלילה הפוכה עם העכבר"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"גלילה למעלה להזזת הדף למטה"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"החלפה בין הלחצן השמאלי ללחצן הימני"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"שימוש בלחצן השמאלי של העכבר כלחצן הימני"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"מקשי קיצור"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"הצגת רשימה של מקשי הקיצור"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"מקלדות וכלים בפרופיל העבודה"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"יש לבחור מפתח חדש עבור <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"תכונות נגישות שפועלות באמצעות מקלדת פיזית"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"מקשים \"דביקים\", מקשים חוזרים, לחצני העכבר"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"חזרה על מקשים"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"השהיה לפני חזרה"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"קצב החזרה"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"לוחצים לחיצה ארוכה על מקש כדי לחזור על התו שלו עד שמפסיקים ללחוץ על המקש"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"פריסה של <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ברירת מחדל"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"אוטומטי: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2231,10 +2229,10 @@
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"יש להחליק למעלה בעזרת שתי אצבעות"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"יש להחליק למעלה בעזרת שלוש אצבעות"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software" msgid="6505512764022389951">"לחצן הנגישות"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"צריך להקיש על הלחצן הצף"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"הקשה על הלחצן הצף"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"תנועה להפעלת תכונות הנגישות"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"צריך להקיש על לחצן הנגישות <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> בחלק התחתון של המסך. כדי לעבור בין תכונות, צריך ללחוץ לחיצה ארוכה על לחצן הנגישות."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{מחליקים למעלה מהחלק התחתון של המסך. כדי לעבור בין תכונות, מחליקים למעלה ומחזיקים.}one{מחליקים למעלה עם # אצבעות מהחלק התחתון של המסך. כדי לעבור בין תכונות, מחליקים למעלה עם # אצבעות ומחזיקים.}two{מחליקים למעלה עם # אצבעות מהחלק התחתון של המסך. כדי לעבור בין תכונות, מחליקים למעלה עם # אצבעות ומחזיקים.}other{מחליקים למעלה עם # אצבעות מהחלק התחתון של המסך. כדי לעבור בין תכונות, מחליקים למעלה עם # אצבעות ומחזיקים.}}"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{החלקה למעלה מהחלק התחתון של המסך. כדי לעבור בין תכונות, החלקה למעלה והחזקת האצבעות.}one{החלקה למעלה עם # אצבעות מהחלק התחתון של המסך. כדי לעבור בין תכונות, החלקה למעלה עם # אצבעות והשארה שלהן.}two{החלקה למעלה עם # אצבעות מהחלק התחתון של המסך. כדי לעבור בין תכונות, החלקה למעלה עם # אצבעות והשארה שלהן.}other{החלקה למעלה עם # אצבעות מהחלק התחתון של המסך. כדי לעבור בין תכונות, החלקה למעלה עם # אצבעות והשארה שלהן.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"אפשרויות נוספות"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"מידע נוסף על <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_dialog_title_quick_settings" msgid="140959604014177304">"הגדרות מהירות"</string>
@@ -2243,7 +2241,7 @@
     <string name="accessibility_feature_shortcut_setting_summary_quick_settings" msgid="7006526933552889373">"הגדרות מהירות"</string>
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="844089763968552142">"לחצני עוצמת הקול"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="2483152542320987022">"לחצני עוצמת הקול"</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"יש ללחוץ לחיצה ארוכה על שני הלחצנים של עוצמת הקול"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"לחיצה ארוכה על שני הלחצנים של עוצמת הקול"</string>
     <string name="accessibility_shortcut_edit_screen_title_two_finger_double_tap" msgid="8952595692906527694">"‏הקשה כפולה עם %1$d אצבעות"</string>
     <string name="accessibility_shortcut_edit_screen_summary_two_finger_double_tap" msgid="385404127425496362">"‏מקישים הקשה כפולה במהירות על המסך עם %1$d אצבעות"</string>
     <string name="accessibility_shortcut_edit_screen_title_triple_tap" msgid="3314488747597058942">"הקשה משולשת"</string>
@@ -2288,7 +2286,7 @@
     <string name="accessibility_force_invert_title" msgid="5015366813138748407">"הגדרת עיצוב כהה לכל האפליקציות"</string>
     <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"רלוונטי לאפליקציות ללא עיצוב כהה משלהן. בחלק מהאפליקציות עשויות להיות בעיות תצוגה, כמו היפוך צבעים."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"הסרת אנימציות"</string>
-    <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"הפחתת התנועה במסך"</string>
+    <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"יהיו פחות תנועות במסך"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"אודיו במונו"</string>
     <string name="accessibility_toggle_primary_mono_summary" msgid="1935283927319407303">"שילוב ערוצים כאשר מפעילים אודיו"</string>
     <string name="accessibility_toggle_primary_balance_title" msgid="7332275200153366714">"איזון אודיו"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"תצוגה מקדימה"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"אפשרויות רגילות"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"שפה"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"גודל כתובית"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"סגנון כתוביות"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"אפשרויות מותאמות אישית"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"צבע הרקע"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"‏האם לנתק את ה-VPN הזה?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ניתוק"</string>
     <string name="vpn_version" msgid="6344167191984400976">"גרסה"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"גרסה <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"‏אני רוצה לשכוח את ה-VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"‏האם להחליף רשת VPN קיימת?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"‏האם להגדיר את רשת ה-VPN בחיבור תמידי?"</string>
@@ -3710,7 +3708,7 @@
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"הגדרות נוספות זמינות בתוך האפליקציה הזו"</string>
     <string name="notification_polite_title" msgid="6121016426991791557">"הפוגת התראות"</string>
     <string name="notification_polite_main_control_title" msgid="5812529809151927149">"שימוש בהפוגת התראות"</string>
-    <string name="notification_polite_description" msgid="5497748284893832854">"כשמתקבלות הרבה התראות בפרק זמן קצר, המכשיר ינמיך את עוצמת הקול ויצמצם את כמות ההתראות למשך עד שתי דקות. שיחות, התרעות ושיחות בעדיפות גבוהה לא מושפעות. \n\nניתן למצוא התראות שהתקבלו במהלך ההפוגה על ידי משיכה למטה מהחלק העליון של המסך."</string>
+    <string name="notification_polite_description" msgid="5497748284893832854">"אם קיבלת הרבה התראות תוך זמן קצר, המכשיר ינמיך את עוצמת הקול ויצמצם את ההפרעות למשך עד 2 דקות. ההפוגה לא חלה על שיחות, שעונים מעוררים ושיחות בעדיפות גבוהה. \n\nכדי למצוא את ההתראות שהתקבלו במהלך ההפוגה, מושכים למטה מראש המסך."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"הפעלה בפרופילי העבודה"</string>
     <string name="notification_polite_work_summary" msgid="5014189280132951378">"הפעלה באפליקציות של פרופיל העבודה"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"‏שירותי סיוע של VR"</string>
@@ -3837,7 +3835,7 @@
     <string name="zen_mode_messages_list" msgid="5431014101342361882">"הודעות"</string>
     <string name="zen_mode_messages_title" msgid="1777598523485334405">"הודעות"</string>
     <string name="zen_mode_messages_header" msgid="253721635061451577">"הודעות שיכולות להפריע"</string>
-    <string name="zen_mode_messages_footer" msgid="6002468050854126331">"כדי שבטוח יישמע צליל התראה כשייכנסו הודעות מורשות, צריך לוודא שהמכשיר נמצא במצב \'צלצול\'"</string>
+    <string name="zen_mode_messages_footer" msgid="6002468050854126331">"כדי שהמכשיר ישמיע צליל התראה כשמגיעות הודעות מורשות, צריך להעביר אותו למצב \'צלצול\'"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"במצב \'<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\', הודעות נכנסות ייחסמו. ניתן לשנות את ההגדרות כדי לאפשר לחברים, לבני משפחה או לאנשי קשר אחרים ליצור איתך קשר."</string>
     <string name="zen_mode_all_messages_summary" msgid="3756267858343104554">"כל ההודעות יכולות להגיע אליך"</string>
     <string name="zen_mode_all_calls_summary" msgid="7337907849083824698">"כל השיחות יכולות להגיע אליך"</string>
@@ -3940,7 +3938,7 @@
     <string name="zen_mode_blurb_immersive" msgid="5884004861848687869">"חוסמים הסחות דעת והפרעות במכשיר ומתרכזים טוב יותר"</string>
     <string name="zen_mode_blurb_theater" msgid="2999237960059524225">"מסירים את כל הסחות דעת ונהנים מסביבה שקטה"</string>
     <string name="zen_mode_blurb_managed" msgid="5473921634985032149">"התאמה אישית של חווית המשתמש ושל ההגדרות במכשיר למשתמשים שונים"</string>
-    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"מצמצמים הפרעות: אפשר לקבל התראות רק מאפליקציות מסוימות ומאנשים חשובים"</string>
+    <string name="zen_mode_blurb_generic" msgid="3041601339807075625">"פחות הסחות דעת: יתקבלו התראות רק מאפליקציות נבחרות ומאנשים חשובים"</string>
     <string name="zen_mode_inspiration_schedule_time" msgid="5596540503159096153">"הגדרת מצב עם לוח זמנים קבוע"</string>
     <string name="zen_mode_inspiration_schedule_calendar" msgid="3678727180860212700">"שמירה על סנכרון המכשיר עם האירועים של היום"</string>
     <string name="zen_mode_inspiration_bedtime" msgid="6294822414181670666">"מתעוררים עם תחושה שהכול מושלם"</string>
@@ -5369,7 +5367,7 @@
     <string name="audio_sharing_stream_name_title" msgid="8156859441897180940">"שם"</string>
     <string name="audio_sharing_stream_password_title" msgid="7026649168165764602">"סיסמה"</string>
     <string name="audio_sharing_stream_compatibility_title" msgid="5690947186724469918">"שיפור התאימות"</string>
-    <string name="audio_sharing_stream_compatibility_description" msgid="8170241188606110963">"ההגדרה הזו עוזרת למכשירים מסוימים, כמו מכשירי שמיעה, להתחבר על ידי הפחתת איכות האודיו"</string>
+    <string name="audio_sharing_stream_compatibility_description" msgid="8170241188606110963">"ההגדרה הזו מורידה את איכות האודיו כדי שמכשירים כמו מכשירי שמיעה יוכלו להתחבר"</string>
     <string name="audio_sharing_stream_compatibility_disabled_description" msgid="2586408353546825682">"ההגדרה הזו משביתה את שיתוף האודיו כדי להגדיר את התאימות"</string>
     <string name="audio_sharing_nearby_audio_title" msgid="4795438407040677177">"האזנה לאודיו בקרבת מקום"</string>
     <string name="audio_sharing_footer_description" msgid="4786942197840271680">"‏התכונה \'שיתוף אודיו\' תומכת ב-‎Auracast™‎"</string>
@@ -5463,13 +5461,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"חיפוש בהגדרות"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"אנשי קשר, אחסון, חשבון"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"אחסון אנשי הקשר"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"מכשיר בלבד"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"אנשי קשר חדשים לא יסונכרנו עם חשבון כלשהו"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"אנשי הקשר יישמרו במכשיר ויוסנכרנו עם החשבון שלך כברירת מחדל"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"לא הוגדרה ברירת מחדל"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"כדי להתחיל, צריך להוסיף חשבון"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"מקיפים ומחפשים"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"לוחצים לחיצה ארוכה על לחצן דף הבית או על נקודת האחיזה לניווט כדי להפעיל חיפוש של התוכן שמופיע על המסך."</string>
 </resources>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index e5ac9e5..82c1342 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"雪の結晶"</item>
     <item msgid="7952183800501346803">"ビーチパラソル"</item>
     <item msgid="799139025758265891">"工具セット"</item>
-    <item msgid="1330084588359129896">"テント"</item>
+    <item msgid="8112685757657659269">"ピアノ"</item>
     <item msgid="3861584909935022342">"フィルムリール"</item>
     <item msgid="5827426100157335512">"書籍"</item>
     <item msgid="8585828346253128384">"ハスの花"</item>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 213c202..130667c 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"ネットワークとワイヤレス通信を使用して自動的に設定します"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"タイムゾーンの自動設定"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"付近のモバイル ネットワークに基づいて自動的に設定します"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"可能であればデバイスの位置情報で自動設定します。アクティブな Wi-Fi 接続が必要になることもあります。"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"可能であればデバイスの位置情報で自動設定します"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"言語 / 地域で一般的な形式を使用する"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24時間表示"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"時刻"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"キーボードの同じキーが連続で押された場合は、その操作を無視します"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"バウンスキーのしきい値"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"キーボードのキーが連続で押されても無視する時間を選択します"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"カスタム"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"カスタム値"</string>
     <string name="slow_keys" msgid="2891452895499690837">"スローキー"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"押されたキーが有効になるまでの時間を設定します"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"固定キー"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ショートカットで複数のキーを同時に押すのではなく 1 つずつ押します"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"マウスキー"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"キーボードを使用してポインタを操作します"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"マウスの逆スクロール"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"上にスクロールすると、ページ下部に移動します"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"左右のボタンを入れ替える"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"左のマウスボタンを右のマウスボタンとして使用します"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"キーボード ショートカット"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ショートカットのリストを表示"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"仕事用プロファイルのキーボードとツール"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> の新しいキーを選択してください"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"物理キーボードのユーザー補助"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"固定キー、バウンスキー、マウスキー"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"キーの繰り返し"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"リピートまでの時間"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"リピート速度"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"キーを長押しすると、キーを離すまでその文字が繰り返されます"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"レイアウト: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"デフォルト"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"自動: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"プレビュー"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"標準オプション"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"言語"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"字幕のサイズ"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"字幕スタイル"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"カスタマイズオプション"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"背景色"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"この VPN の接続を解除しますか？"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"接続を解除"</string>
     <string name="vpn_version" msgid="6344167191984400976">"バージョン"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"バージョン <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN を削除"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"既存の VPN を置き換えますか？"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"常時接続 VPN を設定しますか？"</string>
@@ -5451,12 +5457,19 @@
     <string name="audio_streams_main_page_password_dialog_cannot_edit" msgid="9020898619297520153">"共有中はパスワードを編集できません。パスワードを変更するには、まず音声の共有を OFF にしてください。"</string>
     <string name="audio_streams_qr_code_scanner_label" msgid="8799703301071378034">"QR コードスキャナ"</string>
     <string name="audio_streams_qr_code_help_with_link" msgid="5542328067190486479"><annotation id="link">"ご不明な点がある場合"</annotation></string>
-    <string name="homepage_search" msgid="6759334912284663559">"検索設定"</string>
+    <string name="homepage_search" msgid="6759334912284663559">"設定を検索"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"連絡先, ストレージ, アカウント"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"連絡先アプリのストレージ"</string>
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"デバイスのみ"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"新しい連絡先はアカウントと同期されません"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"デフォルトでは、連絡先はデバイスに保存されて、アカウントと同期されます"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"デフォルトは設定されていません"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"開始するにはアカウントを追加してください"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"かこって検索"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"ホームボタンまたはナビゲーション ハンドルを長押しすると、画面上のコンテンツを使って検索できます。"</string>
 </resources>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index cd428c1..ba848ad 100644
--- a/res/values-ka/arrays.xml
+++ b/res/values-ka/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"ფიფქი"</item>
     <item msgid="7952183800501346803">"სანაპიროს ქოლგა"</item>
     <item msgid="799139025758265891">"სახელოსნოს ხელსაწყოები"</item>
-    <item msgid="1330084588359129896">"კარავი"</item>
+    <item msgid="8112685757657659269">"პიანინო"</item>
     <item msgid="3861584909935022342">"კინოკადრი"</item>
     <item msgid="5827426100157335512">"დაჯავშნა"</item>
     <item msgid="8585828346253128384">"ლოტოსის ყვავილი"</item>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 6f64a8b..e1bab03 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"ავტომატურად დაყენება თქვენი ქსელის და უსადენო სიგნალების გამოყენებით"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ავტომატური სასაათო სარტყელი"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"ავტომატურად დაყენება თქვენთან ახლომდებარე მობილურ ქსელებზე დაყრდნობით"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"ავტომატურად დაყენება მოწყობილობის მდებარეობით, თუ ხელმისაწვდომია. შეიძლება მოითხოვოს აქტიური Wi-Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"ავტომატურად დაყენება მოწყობილობის მდებარეობით, თუ ხელმისაწვდომია"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ლოკალის ნაგულისხმევი პარამეტრის გამოყენება"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-საათიანი ფორმატი"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"დრო"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"კლავიატურა აიგნორებს ერთსა და იმავე კლავიშზე სწრაფ, განმეორებით დაჭერებს"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"კლავიშების ასხლეტის ზღურბლი"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"აირჩიეთ დროის ხანგრძლივობა, რომლის განმავლობაშიც თქვენი კლავიატურა აიგნორებს კლავიშის განმეორებით დაჭერას"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 წმ"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 წმ"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 წმ"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 წმ"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 წმ"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 წმ"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"მორგებული"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"მორგებული მნიშვნელობა"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ნელი კლავიშები"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"არეგულირებს დროს, რომელიც სჭირდება კლავიშის დაჭერას აქტივაციისთვის"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"კლავიშების ფიქსაცია"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"მალსახმობებისთვის დააჭირეთ კლავიშებს ცალ-ცალკე და არა ერთდროულად"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"მაუსის კლავიშები"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"თქვენი კლავიატურის გამოყენება კურსორის სამართავად"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"მაუსით უკუგადაადგილება"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"ზემოთ გადაადგილება გვერდის ჩამოსაწევად"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"მარცხენა და მარჯვენა ღილაკების ფუნქციის გაცვლა"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"გამოიყენეთ მაუსის მარცხენა ღილაკი მარჯვენის ფუნქციით"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"კლავიატურის მალსახმობები"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"მალსახმობების სიის ჩვენება"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"სამსახურის პროფილის კლავიატურა და ხელსაწყოები"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"აირჩიეთ ახალი კლავიში <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>-ისთვის:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ფიზიკური კლავიატურის მისაწვდომობა"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"კლავიშების ფიქსაცია, მრავალჯერადი დაჭერის შეზღუდვა კლავიშებზე, მაუსის კლავიშები"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"განმეორებადი კლავიშები"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"დაყოვნება განმეორებამდე"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"გამეორების სიხშირე"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"ხანგრძლივად დააჭირეთ კლავიშზე, რათა განმეორებით აიკრიფოს სიმბოლო, სანამ კლავიშიდან თითს აიღებთ"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> განლაგება"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ნაგულისხმევი"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ავტომატური: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"წინასწარ ნახვა"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"სტანდარტული პარამეტრები"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ენა"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"სუბტიტრების ზომა"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"ტიტრის სტილი"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"მორგებული პარამეტრები"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"ფონის ფერი"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"გსურთ ამ VPN-თან კავშირის გაწყვეტა?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"კავშირის გაწყვეტა"</string>
     <string name="vpn_version" msgid="6344167191984400976">"ვერსია"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"ვერსია <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN-ის დავიწყება"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"გსურთ არსებული VPN-ის ჩანაცვლება?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"გსურთ ყოველთვის ჩართული VPN-ის დაყენება?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"მხოლოდ მოწყობილობა"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"ახალი კონტაქტები არ სინქრონიზდება ანგარიშთან"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"კონტაქტები შეინახება თქვენს მოწყობილობაში და სინქრონიზდება თქვენს ანგარიშთან ნაგულისხმევად"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"ნაგულისხმევი ანგარიში დაყენებული არ არის"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"დასაწყებად დაამატეთ ანგარიში"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"ძიება წრის მოხაზვით"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"ეკრანზე არსებული კონტენტის გამოყენებით ძიებისთვის ხანგრძლივად შეეხეთ მთავარი ეკრანის ღილაკს ან ნავიგაციის ზოლს."</string>
 </resources>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index 4e7f4d0..5efc68b 100644
--- a/res/values-kk/arrays.xml
+++ b/res/values-kk/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Ұлпа қар"</item>
     <item msgid="7952183800501346803">"Жағажай қолшатыры"</item>
     <item msgid="799139025758265891">"Шеберхана құралдары"</item>
-    <item msgid="1330084588359129896">"Шатыр"</item>
+    <item msgid="8112685757657659269">"Пианино"</item>
     <item msgid="3861584909935022342">"Кинопленка"</item>
     <item msgid="5827426100157335512">"Кітап"</item>
     <item msgid="8585828346253128384">"Лотос гүлі"</item>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index db84d7c..93feb80 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Желі мен сымсыз сигналдар арқылы автоматты түрде орнатылады."</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Aвтоматты уақыт белдеуі"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Маңайдағы мобильдік желілер негізінде автоматты түрде орнату"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Құрылғы локациясы (қолжетімді болса) арқылы автоматты түрде орнатылады. Қосулы Wi-Fi байланысы да қажет болуы мүмкін."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Құрылғы локациясы (қолжетімді болса) арқылы автоматты түрде орнатылады."</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Жергілікті әдепкі формат"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 сағаттық формат"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Уақыт"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Арнайы мүмкіндіктер"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Физикалық пернетақта"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Қайтару пернелері"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Пернетақта бір перненің тез арада қайталап басылуын елемейді."</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Пернелердің байқаусызда басылуын елемеу шегі"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Пернетақта пернелердің қайталап басылуын елемейтін уақыт ұзақтығын таңдаңыз."</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 с"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 с"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 с"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Арнаулы"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"арнаулы мән"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Баяу пернелер"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Басқаннан кейін перненің іске қосылу уақытын реттейді."</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Бекітілген пернелер"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Жылдам пәрмендерді пайдалану үшін пернелерді бірге баспай-ақ, бір пернені бір рет бассаңыз болады."</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Тінтуір пернелері"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Меңзерді басқару үшін пернетақтаны пайдаланыңыз."</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Тінтуірмен кері айналдыру"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Бетті төмен жылжыту үшін жоғары қарай айналдырыңыз."</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Сол және оң жақ түймелердің орындарын ауыстырыңыз"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Тінтуірдің сол жақ түймесін оң жақ түйме ретінде пайдаланыңыз."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Перне тіркесімдері"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Перне тіркесімдерінің тізімін көрсету"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Жұмыс профилі пернетақталары және құралдары"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> жаңа пернесін таңдау:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Физикалық пернетақтаның арнайы мүмкіндіктері"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Бекітілген пернелер, серпімді пернелер, тінтуір пернелері"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Пернелерді қайталау"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Қайталау алдындағы кідіріс"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Қайталау жиілігі"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Пернені басып тұру арқылы таңбаны қайталап жазу"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> форматы"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Әдепкі"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматты: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Алғы көрініс"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Стандартты опциялар"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Тіл"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Жазу өлшемі"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Субтитр стилі"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Реттеу опциялары"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Артқы фон түсі"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Осы VPN желісі ажыратылсын ба?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Ажырату"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Нұсқа"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"<xliff:g id="VERSION">%s</xliff:g> нұсқасы"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN ұмыту"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Бар VPN қолданбасын ауыстыру керек пе?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Әрқашан қосулы VPN режимін орнату"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Іздеу параметрлері"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"контактілер, жад, аккаунт"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Контактілер жады"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Тек құрылғы"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Жаңа контактілер аккаунтпен синхрондалмайды."</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Контактілер әдепкісінше аккаунтыңызбен синхрондалады және құрылғыңызға сақталады."</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Әдепкі аккаунт таңдалмаған"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Бастау үшін аккаунт қосыңыз."</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Қоршау арқылы іздеу"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Экрандағы контенттің көмегімен іздеу үшін негізгі экран түймесін немесе навигация тетігін басып тұрыңыз."</string>
 </resources>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index 5d97701..e0d7b35 100644
--- a/res/values-km/arrays.xml
+++ b/res/values-km/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"ផ្កាព្រិល"</item>
     <item msgid="7952183800501346803">"ឆត្រនៅតាមឆ្នេរ"</item>
     <item msgid="799139025758265891">"ឧបករណ៍រោងជាង"</item>
-    <item msgid="1330084588359129896">"តង់"</item>
+    <item msgid="8112685757657659269">"ព្យាណូ"</item>
     <item msgid="3861584909935022342">"ដុំហ្វីលភាពយន្ត"</item>
     <item msgid="5827426100157335512">"សៀវភៅ"</item>
     <item msgid="8585828346253128384">"ផ្កា​ឈូក"</item>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index b49f011..2d9984a 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"កំណត់​ដោយស្វ័យប្រវត្តិ​ដោយប្រើ​បណ្ដាញ និង​សញ្ញា​ឥតខ្សែ​របស់អ្នក"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ល្វែង​ម៉ោង​ស្វ័យ​ប្រវត្តិ"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"កំណត់​ដោយ​ស្វ័យប្រវត្តិ​ដោយ​ផ្អែកលើ​បណ្ដាញ​ទូរសព្ទ​ចល័ត​ដែលនៅជិតអ្នក"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"កំណត់ដោយស្វ័យប្រវត្តិដោយប្រើទីតាំងឧបករណ៍អ្នក ប្រសិនបើមាន។ ក៏អាចតម្រូវឱ្យមានការតភ្ជាប់ Wifi ដែលកំពុងដំណើរការផងដែរ។"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"កំណត់ដោយស្វ័យប្រវត្តិដោយប្រើទីតាំងឧបករណ៍អ្នក ប្រសិនបើមាន"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ប្រើ​តាមតំបន់"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"ប្រើ​ប្រព័ន្ធ ២៤ ម៉ោង"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"ម៉ោង"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ភាពងាយស្រួល"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ក្ដារចុច​រូបវ័ន្ត"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"គ្រាប់ចុចឡង"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"ក្ដារចុចមិនអើពើនឹងការចុចដដែលៗយ៉ាងរហ័សនៃគ្រាប់ចុចដដែល"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"កម្រិតកំណត់គ្រាប់ចុចឡង"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"ជ្រើសរើសរយៈពេលដែលក្តារចុចរបស់អ្នកមិនអើពើនឹងការចុចគ្រាប់ចុចដដែលៗ"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 វិ"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 វិ"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 វិ"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"ផ្ទាល់ខ្លួន"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"តម្លៃផ្ទាល់ខ្លួន"</string>
     <string name="slow_keys" msgid="2891452895499690837">"គ្រាប់ចុចយឺត"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"កែតម្រូវរយៈពេលនៃការចុចគ្រាប់ចុចដើម្បីបើកដំណើរការ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"គ្រាប់ចុចស្អិត"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ចុចគ្រាប់ចុចមួយក្នុងមួយលើកសម្រាប់ផ្លូវកាត់ជំនួសឱ្យការចុចគ្រាប់ចុចឱ្យជាប់រួមគ្នា"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"គ្រាប់ចុច​ម៉ៅស៍"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"ប្រើក្តារចុចរបស់អ្នកដើម្បីគ្រប់គ្រងសញ្ញាព្រួញ"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"ការរំកិល​ម៉ៅស៍​បញ្រ្ចាស"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"រំកិល​ឡើងលើ ដើម្បីផ្លាស់ទី​ទំព័រចុះក្រោម"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"ដោះដូររវាងប៊ូតុងឆ្វេង និងប៊ូតុងស្ដាំ"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"ប្រើប៊ូតុងម៉ៅស៍ខាងឆ្វេងជាប៊ូតុងម៉ៅស៍ខាងស្ដាំរបស់អ្នក"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"ផ្លូវកាត់ក្តារចុច"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"បង្ហាញបញ្ជីផ្លូវកាត់"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ឧបករណ៍ និងក្ដារចុច​កម្រងព័ត៌មាន​ការងារ"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"ជ្រើសរើសប៊ូតុងថ្មីសម្រាប់ <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>៖"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ភាពងាយស្រួលប្រើប្រាស់ក្ដារចុចរូបវន្ត"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"គ្រាប់ចុចស្អិត គ្រាប់ចុចលោត គ្រាប់ចុចម៉ៅស៍"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"គ្រាប់ចុចដែលចុចឡើងវិញ"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"ពន្យារពេលមុនការចុចឡើងវិញ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"អត្រា​ចុច​ឡើងវិញ"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"ចុចឱ្យជាប់លើគ្រាប់ចុចណាមួយ ដើម្បីចុចតួអក្សររបស់វាឡើងវិញ រហូតទាល់តែគ្រាប់ចុចត្រូវបានលែង"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"ប្លង់ <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"លំនាំដើម"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ស្វ័យប្រវត្តិ៖ <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"មើលសាកល្បង"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"ជម្រើស​ស្តង់​ដារ​"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ភាសា"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"ទំហំអក្សររត់"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"រចនាប័ទ្ម​អក្សររត់"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"ជម្រើស​តាម​តម្រូវ​ការ"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"ពណ៌​ផ្ទៃ​ខាងក្រោយ"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"ផ្តាច់ VPN នេះ?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ផ្ដាច់"</string>
     <string name="vpn_version" msgid="6344167191984400976">"កំណែ"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"កំណែ <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"បំភ្លេច VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"ជំនួស VPN ដែលមានស្រាប់ឬ?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"កំណត់ VPN ឲ្យបើកជានិច្ចឬ?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"ស្វែងរកការកំណត់"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contacts, ទំហំ​ផ្ទុក, គណនី"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"ទំហំផ្ទុក Contacts"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"សម្រាប់តែឧបករណ៍"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"ទំនាក់ទំនងថ្មីៗនឹងមិនត្រូវបានធ្វើសមកាលកម្មជាមួយគណនីទេ"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"ទំនាក់ទំនងនឹងត្រូវបានរក្សាទុកទៅក្នុងឧបករណ៍របស់អ្នក និងធ្វើសមកាលកម្មទៅគណនីរបស់អ្នកតាមលំនាំដើម"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"មិន​បាន​កំណត់​លំនាំដើម"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"សូមបញ្ចូល​គណនី ដើម្បីចាប់ផ្ដើម"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"គូររង្វង់ដើម្បីស្វែងរក"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"ចុចប៊ូតុងទំព័រ​ដើម ឬដងរុករកឱ្យជាប់ ដើម្បីស្វែងរកដោយប្រើខ្លឹមសារនៅលើអេក្រង់របស់អ្នក។"</string>
 </resources>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index 3487549..dcf2761 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"ಸ್ನೋಫ್ಲೇಕ್"</item>
     <item msgid="7952183800501346803">"ಬೀಚ್ ಛತ್ರಿಗಳು"</item>
     <item msgid="799139025758265891">"ಕಾರ್ಯಾಗಾರದ ಟೂಲ್‌ಗಳು"</item>
-    <item msgid="1330084588359129896">"ಟೆಂಟ್"</item>
+    <item msgid="8112685757657659269">"ಪಿಯಾನೋ"</item>
     <item msgid="3861584909935022342">"ಫಿಲಂ ರೀಲ್"</item>
     <item msgid="5827426100157335512">"ಕಾಯ್ದಿರಿಸಿ"</item>
     <item msgid="8585828346253128384">"ಕಮಲದ ಹೂವು"</item>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 6fd0df1..9fb06a9 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ವೈರ್‌ಲೆಸ್ ಸಿಗ್ನಲ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೆಟ್ ಮಾಡಿ"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ಸ್ವಯಂಚಾಲಿತ ಸಮಯವಲಯ"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"ನಿಮ್ಮ ಸಮೀಪದ ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಆಧರಿಸಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೆಟ್ ಮಾಡಿ"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"ಲಭ್ಯವಿದ್ದರೆ, ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳವನ್ನು ಬಳಸಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೆಟ್ ಮಾಡಿ. ಸಕ್ರಿಯ Wi-Fi ಕನೆಕ್ಷನ್ ಬೇಕಾಗಬಹುದು."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"ಲಭ್ಯವಿದ್ದರೆ, ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳವನ್ನು ಬಳಸಿ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೆಟ್ ಮಾಡಿ"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ಭಾಷೆ ಡೀಫಾಲ್ಟ್ ಬಳಸಿ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-ಗಂಟೆ ಫಾರ್ಮ್ಯಾಟ್‌‌ ಬಳಸಿ"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"ಸಮಯ"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"ಒಂದೇ ಕೀನ ತ್ವರಿತ ಪುನರಾವರ್ತಿತ ಪ್ರೆಸ್‌ಗಳನ್ನು ಕೀಬೋರ್ಡ್ ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"ಬೌನ್ಸ್ ಕೀ ಥ್ರೆಶೋಲ್ಡ್"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"ನಿಮ್ಮ ಕೀಬೋರ್ಡ್ ಪುನರಾವರ್ತಿತ ಕೀ ಪ್ರೆಸ್‌ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಬೇಕಾದ ಸಮಯದ ಅವಧಿಯನ್ನು ಆರಿಸಿ"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2ಸೆ"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4ಸೆ"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6ಸೆ"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2ಸೆ"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4ಸೆ"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6ಸೆ"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"ಕಸ್ಟಮ್"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"ಕಸ್ಟಮ್ ಮೌಲ್ಯ"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ಸ್ಲೋ ಕೀಗಳು"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"ಕೀ ಪ್ರೆಸ್ ಸಕ್ರಿಯಗೊಳ್ಳಲು ತೆಗೆದುಕೊಳ್ಳುವ ಸಮಯವನ್ನು ಅಡ್ಜಸ್ಟ್ ಮಾಡುತ್ತದೆ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ಸ್ಟಿಕಿ ಕೀಗಳು"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ಕೀಗಳನ್ನು ಜೊತೆಯಾಗಿ ಕೆಳಗೆ ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳುವ ಬದಲಾಗಿ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳಿಗಾಗಿ ಒಂದು ಬಾರಿ ಒಂದು ಕೀ ಅನ್ನು ಒತ್ತಿ"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"ಮೌಸ್ ಕೀಗಳು"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"ಪಾಯಿಂಟರ್ ಅನ್ನು ಕಂಟ್ರೋಲ್ ಮಾಡಲು ನಿಮ್ಮ ಕೀಬೋರ್ಡ್ ಅನ್ನು ಬಳಸಿ"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"ಮೌಸ್ ಹಿಮ್ಮುಖ ಸ್ಕ್ರಾಲ್ ಮಾಡುವಿಕೆ"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"ಪುಟವನ್ನು ಕೆಳಕ್ಕೆ ಸರಿಸಲು ಮೇಲಕ್ಕೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"ಎಡ ಮತ್ತು ಬಲ ಬಟನ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಿ"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"ಎಡ ಮೌಸ್ ಬಟನ್ ಅನ್ನು ನಿಮ್ಮ ಬಲ ಬಟನ್‌ ಆಗಿ ಬಳಸಿ"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"ಕೀಬೋರ್ಡ್ ಶಾರ್ಟ್‌ಕಟ್‌ಗಳು"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ಶಾರ್ಟ್‌ಕಟ್‌ಗಳ ಪಟ್ಟಿಯನ್ನು ತೋರಿಸಿ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್ ಕೀಬೋರ್ಡ್‌ಗಳು ಮತ್ತು ಉಪಕರಣಗಳು"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> ಗಾಗಿ ಹೊಸ ಕೀ ಆಯ್ಕೆಮಾಡಿ:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ಸ್ಟಿಕಿ ಕೀಗಳು, ಬೌನ್ಸ್ ಕೀಗಳು, ಮೌಸ್ ಕೀಗಳು"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"ಕೀಗಳನ್ನು ಪುನರಾವರ್ತಿಸಿ"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"ಪುನರಾವರ್ತನೆಗೆ ಮೊದಲು ವಿಳಂಬ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"ಪುನರಾವರ್ತಿತ ದರ"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"ಕೀ ಬಿಡುಗಡೆ ಆಗುವವರೆಗೆ ಅದರ ಅಕ್ಷರವನ್ನು ಪುನರಾವರ್ತಿಸಲು ಕೀಯನ್ನು ಹೋಲ್ಡ್ ಮಾಡಿ"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> ಲೇಔಟ್"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ಡಿಫಾಲ್ಟ್"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ಆಟೋಮೆಟಿಕ್: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"ಪೂರ್ವವೀಕ್ಷಣೆ"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"ಪ್ರಮಾಣಿತ ಆಯ್ಕೆಗಳು"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ಭಾಷೆ"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"ಕ್ಯಾಪ್ಶನ್ ಗಾತ್ರ"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"ಶೀರ್ಷಿಕೆಯ ಶೈಲಿ"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"ಕಸ್ಟಮ್‌ ಆಯ್ಕೆಗಳು"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"ಹಿನ್ನೆಲೆ ಬಣ್ಣ"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"ಈ VPN ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸುವುದೇ?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿ"</string>
     <string name="vpn_version" msgid="6344167191984400976">"ಆವೃತ್ತಿ"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"ಆವೃತ್ತಿ <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN ಮರೆತುಬಿಡು"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ VPN ಸ್ಥಾನಾಂತರಿಸುವುದೇ?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"VPN ಯಾವಾಗಲೂ ಆನ್ ಆಗಿರುವಂತೆ ಹೊಂದಿಸುವುದೇ?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"ಸಾಧನ ಮಾತ್ರ"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"ಹೊಸ ಸಂಪರ್ಕಗಳನ್ನು ಖಾತೆಯ ಜೊತೆ ಸಿಂಕ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"ಸಂಪರ್ಕಗಳನ್ನು ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಸೇವ್ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ಡೀಫಾಲ್ಟ್ ಆಗಿ ನಿಮ್ಮ ಖಾತೆಗೆ ಸಿಂಕ್ ಮಾಡಲಾಗುತ್ತದೆ"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"ಡೀಫಾಲ್ಟ್ ಆಗಿ ಯಾವುದನ್ನೂ ಸೆಟ್ ಮಾಡಿಲ್ಲ"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"ಪ್ರಾರಂಭಿಸಲು ಒಂದು ಖಾತೆಯನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"ಹುಡುಕಲು ಒಂದು ಸರ್ಕಲ್ ರಚಿಸಿ"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಮೇಲಿನ ಕಂಟೆಂಟ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಹುಡುಕಲು ಹೋಮ್ ಬಟನ್ ಅಥವಾ ನ್ಯಾವಿಗೇಶನ್ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಒತ್ತಿ ಹಿಡಿಯಿರಿ."</string>
 </resources>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index babd76d..0d2685a 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"눈송이"</item>
     <item msgid="7952183800501346803">"비치 파라솔"</item>
     <item msgid="799139025758265891">"워크숍 도구"</item>
-    <item msgid="1330084588359129896">"텐트"</item>
+    <item msgid="8112685757657659269">"피아노"</item>
     <item msgid="3861584909935022342">"필름 릴"</item>
     <item msgid="5827426100157335512">"책"</item>
     <item msgid="8585828346253128384">"연꽃"</item>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 22c7755..1a31ce3 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"네트워크 및 무선 신호를 사용하여 자동으로 설정합니다."</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"시간대 자동 설정"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"주변의 모바일 네트워크를 기반으로 자동으로 설정합니다."</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"가능한 경우, 기기 위치를 사용하여 자동으로 설정합니다. 활성 상태의 Wi-Fi 연결도 필요할 수 있습니다."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"가능한 경우, 기기 위치를 사용하여 자동으로 설정합니다."</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"언어 기본값 사용"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24시간 형식 사용"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"시간"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"접근성"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"물리적 키보드"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"바운스 키"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"동일한 키를 빠르게 반복해서 누를 시 키보드에서 이를 무시합니다."</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"바운스 키 기준점"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"키보드에서 반복 키 입력을 무시하는 시간을 선택하세요"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2초"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4초"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6초"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"맞춤"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"맞춤 값"</string>
     <string name="slow_keys" msgid="2891452895499690837">"느린 키"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"키를 누를 때 활성화하기까지 걸리는 시간을 조정합니다."</string>
     <string name="sticky_keys" msgid="7317317044898161747">"고정키"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"단축키를 사용할 때 키를 함께 누르지 않고 한 번에 하나씩 누릅니다"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"마우스 키"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"키보드를 사용하여 포인터를 제어합니다."</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"마우스 역방향 스크롤"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"위로 스크롤하여 페이지 아래로 이동합니다."</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"왼쪽 및 오른쪽 버튼 바꾸기"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"왼쪽 마우스 버튼을 오른쪽 버튼으로 사용합니다."</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"단축키"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"단축키 목록 표시"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"직장 프로필 키보드 및 도구"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>의 새 키 선택:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"실제 키보드 접근성"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"고정키, 바운스 키, 마우스 키"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"키 반복"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"반복 전 지연"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"반복 속도"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"키를 길게 눌러 문자를 반복해서 입력하고 키에서 손을 뗍니다."</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> 레이아웃"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"기본"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"자동: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"미리보기"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"표준 옵션"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"언어"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"자막 크기"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"자막 스타일"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"맞춤설정 옵션"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"배경색"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"이 VPN을 연결 해제하시겠습니까?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"연결 해제"</string>
     <string name="vpn_version" msgid="6344167191984400976">"버전"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"버전 <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN 삭제"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"기존 VPN을 교체하시겠습니까?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"연결 유지 VPN을 설정하시겠습니까?"</string>
@@ -3823,7 +3821,7 @@
     <string name="zen_mode_conversations_count" msgid="3199310723073707153">"{count,plural, =0{없음}=1{대화 1개}other{대화 #개}}"</string>
     <string name="zen_mode_from_conversations_settings" msgid="2411930666794576607">"대화 설정"</string>
     <string name="zen_mode_people_calls_messages_section_title" msgid="6815202112413762206">"예외 대상"</string>
-    <string name="zen_mode_people_footer" msgid="7710707353004137431">"메시지 또는 전화 앱에서 나에게 알림을 전송할 수 없을 때에도 여기에서 선택한 사용자는 앱을 통해 나에게 연락할 수 있습니다."</string>
+    <string name="zen_mode_people_footer" msgid="7710707353004137431">"메시지 또는 전화 앱에서 나에게 알림을 전송할 수 없을 때에도 여기에서 선택한 사람은 이러한 앱을 통해 나에게 연락할 수 있습니다."</string>
     <string name="zen_mode_calls_title" msgid="2078578043677037740">"전화"</string>
     <string name="zen_mode_calls" msgid="7653245854493631095">"전화"</string>
     <string name="zen_mode_calls_list" msgid="5044730950895749093">"전화"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"설정 검색"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"연락처, 저장소, 계정"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"연락처 저장소"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"기기만"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"새 연락처는 계정과 동기화되지 않습니다."</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"연락처가 기기에 저장되고 기본적으로 계정과 동기화됩니다."</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"기본 설정 없음"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"계정을 추가하여 시작하세요."</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"서클 투 서치"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"화면의 콘텐츠를 사용해 검색하려면 홈 버튼 또는 탐색 핸들을 길게 터치합니다."</string>
 </resources>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index ecd3a22..7514614 100644
--- a/res/values-ky/arrays.xml
+++ b/res/values-ky/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Кар бүртүгү"</item>
     <item msgid="7952183800501346803">"Кумдуу жээктеги чатыр"</item>
     <item msgid="799139025758265891">"Устаканадагы аспаптар"</item>
-    <item msgid="1330084588359129896">"Чатыр"</item>
+    <item msgid="8112685757657659269">"Пианино"</item>
     <item msgid="3861584909935022342">"Тасма түрмөгү"</item>
     <item msgid="5827426100157335512">"Аудиокитеп"</item>
     <item msgid="8585828346253128384">"Лотос гүлү"</item>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 877a930..6897b09 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Тармак жана зымсыз сигналдар аркылуу автоматтык түрдө орнотуу"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Убакыт алкагын автоматтык түрдө аныктоо"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Жаныңыздагы мобилдик тармактардын негизинде автоматтык түрдө орнотуу"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Түзмөктүн турган жеринин негизинде автоматтык түрдө орнотуу. Wifi\'га туташуу керектелиши мүмкүн."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Түзмөктүн турган жеринин негизинде автоматтык түрдө орнотуу"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Демейки жергиликтүү форматты колдонуу"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 сааттык форматты колдонуу"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Убакыт"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Бир эле баскычтын удаа басылганы этибарга алынбайт"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Удаа басылган баскычтардын мааниси"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Баскычтын удаа басылганы этибарга алынбаган убакыттын узундугун тандаңыз"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 сек."</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 сек."</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 сек."</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 сек."</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 сек."</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 сек."</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Жеке"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"жеке маани"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Жай баскычтар"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Басылган баскыч качан эске алынарын тууралайт"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Жабышма баскычтар"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Ыкчам баскычтарды чогуу басып туруунун ордуна бирден басасыз"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Чычкандын баскычтары"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Курсорду баскычтоптон көзөмөлдөңүз"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Чычкан менен артка сыдыруу"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Баракты ылдый жылдыруу үчүн экранды өйдө сыдырыңыз"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Сол жана оң баскычтарды алмаштырыңыз"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Чычкандын сол баскычын оң баскыч катары колдонуңуз"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Ыкчам баскычтар"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Ыкчам баскычтардын тизмеси көрүнөт"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Жумуш профилинин баскычтоптору жана куралдары"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> үчүн жаңы ачкыч тандаңыз:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Аппараттык баскычтоптогу атайын мүмкүнчүлүктөр"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Жабышма баскычтар, Кайтаруу баскычтары, Чычкандын баскычтары"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Баскычтарды кайталоо"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Кайталанганга чейинки кечигүү"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Кайталоо ылдамдыгы"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Символду кайталап терүү үчүн баскычты коё бербей басып туруңуз"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> калыбы"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Демейки"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматтык: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Алдын ала көрүү"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Стандарттык опциялар"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Тили"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Коштомо жазуунун өлчөмү"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Коштомо жазуунун стили"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Ылайыкташтырылган тууралоолор"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Фондун түсү"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Бул VPN ажыратылсынбы?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Ажыратуу"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Версия"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"<xliff:g id="VERSION">%s</xliff:g> версиясы"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN профили унутулсун"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Учурдагы VPN алмаштырылсынбы?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Туруктуу VPN\'ди жөндөйсүзбү?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Түзмөк аркылуу гана"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Жаңы байланыштар аккаунтта шайкештирилбейт"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Байланыштар түзмөгүңүздө сакталып, аккаунтуңузда демейки шартта шайкештирилет"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Демейки параметрлер коюлган жок"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Баштоо үчүн аккаунт кошуңуз"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Тегеректеп издөө"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Экрандагы нерселер боюнча издөө үчүн Башкы бет баскычын же өтүү тилкесин коё бербей басып туруңуз."</string>
 </resources>
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
index 6dcbd8d..d4b312d 100644
--- a/res/values-lo/arrays.xml
+++ b/res/values-lo/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"ເກັດຫິມະ"</item>
     <item msgid="7952183800501346803">"ຄັນຮົ່ມຫາດຊາຍ"</item>
     <item msgid="799139025758265891">"ເຄື່ອງມືເວີກຊັອບ"</item>
-    <item msgid="1330084588359129896">"ເຕັ້ນ"</item>
+    <item msgid="8112685757657659269">"ເປຍໂນ"</item>
     <item msgid="3861584909935022342">"ມ້ວນຟີມ"</item>
     <item msgid="5827426100157335512">"ປຶ້ມ"</item>
     <item msgid="8585828346253128384">"ດອກບົວ"</item>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 2207ee4..6dd47ef 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"ຕັ້ງຄ່າອັດຕະໂນມັດໂດຍໃຊ້ເຄືອຂ່າຍ ແລະ ສັນຍານໄຮ້ສາຍຂອງທ່ານ"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ເຂດເວລາອັດຕະໂນມັດ"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"ຕັ້ງຄ່າອັດຕະໂນມັດໂດຍອີງຕາມເຄືອຂ່າຍມືຖືທີ່ຢູ່ໃກ້ກັບທ່ານ"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"ຕັ້ງຄ່າອັດຕະໂນມັດໂດຍໃຊ້ສະຖານທີ່ອຸປະກອນຂອງທ່ານ (ຫາກມີ). ອາດຕ້ອງມີການເຊື່ອມຕໍ່ Wi-Fi ທີ່ເປີດໃຊ້ຢູ່ນຳ."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"ຕັ້ງຄ່າອັດຕະໂນມັດໂດຍໃຊ້ສະຖານທີ່ອຸປະກອນຂອງທ່ານ, ຫາກມີ"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງສະຖານທີ່"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"ໃຊ້ຮູບແບບ 24 ຊົ່ວໂມງ"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"ເວລາ"</string>
@@ -1946,26 +1946,29 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ການຊ່ວຍເຂົ້າເຖິງ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ແປ້ນພິມພາຍນອກ"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"ປຸ່ມດີດກັບ"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"ແປ້ນພິມຈະບໍ່ສົນໃຈການກົດປຸ່ມຊ້ຳໆໄວໆຂອງປຸ່ມດຽວກັນ"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"ເກນການຍົກເລີກການກົດປຸ່ມຊໍ້າໆ"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"ເລືອກໄລຍະເວລາທີ່ແປ້ນພິມຂອງທ່ານບໍ່ສົນໃຈການກົດປຸ່ມຊໍ້າໆ"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
     <skip />
     <string name="slow_keys" msgid="2891452895499690837">"ເພີ່ມໄລຍະເວລາໃນການກົດປຸ່ມ"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"ປັບແກ້ເວລາທີ່ມັນໃຊ້ສໍາລັບການກົດປຸ່ມເພື່ອເປີດໃຊ້"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ປຸ່ມກົດຄ້າງ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ກົດເທື່ອລະປຸ່ມເພື່ອໃຊ້ທາງລັດແທນການກົດປຸ່ມຄ້າງໄວ້ຮ່ວມກັນ"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"ແປ້ນເມົ້າ"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"ໃຊ້ແປ້ນພິມຂອງທ່ານເພື່ອຄວບຄຸມຕົວຊີ້"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"ການເລື່ອນເມົ້າຖອຍຫຼັງ"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"ເລື່ອນຂຶ້ນເພື່ອຍ້າຍໜ້າລົງ"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"ສະຫຼັບປຸ່ມຊ້າຍ ແລະ ຂວາ"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"ໃຊ້ປຸ່ມເມົ້າເບື້ອງຊ້າຍເປັນປຸ່ມເບື້ອງຂວາຂອງທ່ານ"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"ປຸ່ມລັດແປ້ນພິມ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ສະແດງລາຍຊື່ຂອງທາງລັດ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ແປ້ນພິມໂປຣໄຟລ໌ວຽກ ແລະ ເຄື່ອງມື"</string>
@@ -2034,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"ເລືອກປຸ່ມໃໝ່ສຳລັບ <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ການຊ່ວຍເຂົ້າເຖິງແປ້ນພິມພາຍນອກ"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ປຸ່ມກົດຄ້າງ, ປຸ່ມຕີກັບ, ແປ້ນເມົ້າ"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"ປຸ່ມຊ້ຳ"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"ຄວາມຊັກຊ້າກ່ອນການກົດຊ້ຳ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"ອັດຕາການກົດຊ້ຳ"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"ກົດປຸ່ມຄ້າງໄວ້ເພື່ອເຮັດຊ້ຳຕົວອັກສອນຂອງມັນຈົນກວ່າປຸ່ມຈະຖືກປ່ອຍ"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"ໂຄງຮ່າງ <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ອັດຕະໂນມັດ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"ຕົວຢ່າງ"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"ໂຕເລືອກມາດຕະຖານ"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ພາສາ"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"ຂະໜາດຄຳບັນຍາຍ"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"ຮູບແບບຄຳບັນຍາຍ"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"ໂຕເລືອກກຳນົດເອງ"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"ສີພື້ນຫຼັງ"</string>
@@ -2987,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"ຕັດການເຊື່ອມຕໍ່ VPN ນີ້ບໍ?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ຕັດການເຊື່ອມຕໍ່"</string>
     <string name="vpn_version" msgid="6344167191984400976">"ເວີຊັນ"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"ເວີຊັນ <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"ລືມ VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"ຂຽນທັບ VPN ທີ່ມີຢູ່ກ່ອນແລ້ວຂອງທ່ານບໍ?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Set always-on VPN?"</string>
@@ -5462,13 +5465,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"ຊອກຫາໃນການຕັ້ງຄ່າ"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"ລາຍຊື່ຜູ້ຕິດຕໍ່, ບ່ອນຈັດເກັບຂໍ້ມູນ, ບັນຊີ"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"ບ່ອນຈັດເກັບຂໍ້ມູນລາຍຊື່ຜູ້ຕິດຕໍ່"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"ອຸປະກອນເທົ່ານັ້ນ"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"ລາຍຊື່ຜູ້ຕິດຕໍ່ໃໝ່ຈະບໍ່ຖືກຊິ້ງຂໍ້ມູນກັບບັນຊີ"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"ລາຍຊື່ຜູ້ຕິດຕໍ່ຈະຖືກບັນທຶກໄປໃສ່ອຸປະກອນ ແລະ ຊິ້ງຂໍ້ມູນໄປຫາບັນຊີຂອງທ່ານເປັນຄ່າເລີ່ມຕົ້ນ"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"ບໍ່ມີການຕັ້ງຄ່າເລີ່ມຕົ້ນ"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"ເພີ່ມບັນຊີເພື່ອເລີ່ມຕົ້ນ"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"ແຕ້ມວົງມົນເພື່ອຊອກຫາ"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"ແຕະປຸ່ມໜ້າທຳອິດ ຫຼື ດ້າມຈັບນຳທາງຄ້າງໄວ້ເພື່ອຊອກຫາໂດຍໃຊ້ເນື້ອຫາຢູ່ໜ້າຈໍຂອງທ່ານ."</string>
 </resources>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index af16799..6566f11 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snaigė"</item>
     <item msgid="7952183800501346803">"Paplūdimio skėtis"</item>
     <item msgid="799139025758265891">"Darbo įrankiai"</item>
-    <item msgid="1330084588359129896">"Palapinė"</item>
+    <item msgid="8112685757657659269">"Pianinas"</item>
     <item msgid="3861584909935022342">"Kino juosta"</item>
     <item msgid="5827426100157335512">"Knyga"</item>
     <item msgid="8585828346253128384">"Lotoso žiedas"</item>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 73a6572..1c7b5c8 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Nustatykite automatiškai pagal tinklo ir belaidžio ryšio signalus"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatinė laiko juosta"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Nustatykite automatiškai pagal netoliese esančius mobiliojo ryšio tinklus"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Nustatykite automatiškai pagal įrenginio vietovę, jei ji pasiekiama. Taip pat gali būti reikalingas aktyvus „Wi-Fi“ ryšys."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Nustatykite automatiškai pagal įrenginio vietovę, jei ji pasiekiama"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Naudoti numatytuosius lokalės nustatymus"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Naudoti 24 val. formatą"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Laikas"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Pritaikomumas"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizinė klaviatūra"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Peradresavimo klavišai"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Klaviatūra nepaiso greitai kartojamų to paties klavišo paspaudimų"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Peradresavimo klavišų slenkstis"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Pasirinkite, kiek laiko klaviatūra nepaiso pasikartojančių klavišų paspaudimų"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 sek."</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 sek."</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 sek."</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Tinkinta"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"priskirta vertė"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Lėtieji klavišai"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Koreguojamas laikas, per kurį aktyvinamas klavišo paspaudimas"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Atmenieji klavišai"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Norėdami naudoti spartųjį klavišą, vienu metu paspauskite vieną klavišą, užuot laikę nuspaudę kelis klavišus"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Pelės klavišai"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Naudodami klaviatūrą valdykite žymeklį"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Atvirkštinis slinkimas pele"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Slinkite aukštyn, kad pereitumėte puslapiu žemyn"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Sukeisti kairįjį ir dešinįjį mygtukus"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Naudokite kairįjį pelės mygtuką kaip dešinįjį"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Spartieji klavišai"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Rodyti sparčiųjų klavišų sąrašą"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Darbo profilio klaviatūros ir įrankiai"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Pasirinkite naują „<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>“ slaptažodį:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Fizinės klaviatūros pritaikomumas"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Atmenieji klavišai, pakartotinių paspaudimų kontrolė, pelės klavišai"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Klavišų kartojimas"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Atidėti iki pakartojimo"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Kartojimo dažnis"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Laikykite paspaudę klavišą, kad kartotumėte jo simbolį, kol klavišas bus atleistas"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"„<xliff:g id="IME_LABEL">%s</xliff:g>“ išdėstymas"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Numatytasis"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatinis: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Peržiūra"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standartinės parinktys"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Kalba"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Subtitrų dydis"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Subtitrų stilius"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Tinkintos parinktys"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Fono spalva"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Atsijungti nuo šio VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Atsijungti"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versija"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"<xliff:g id="VERSION">%s</xliff:g> vers."</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Pamiršti VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Pakeisti esamą VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Nustatyti visada įjungtą VPN?"</string>
@@ -5464,13 +5462,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Nustatymų paieška"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontaktai, saugykla, paskyra"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Kontaktų saugykla"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Tik įrenginys"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nauji kontaktai nebus sinchronizuojami su paskyra"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Pagal numatytuosius nustatymus kontaktai bus išsaugomi įrenginyje ir sinchronizuojami su paskyra"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Numatytoji paskyra nenustatyta"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Jei norite pradėti, pridėkite paskyrą"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Paieška apibrėžiant"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Jei norite ieškoti naudodami turinį ekrane, palieskite ir palaikykite pagrindinio puslapio mygtuką arba naršymo rankenėlę."</string>
 </resources>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index 4412a86..5626332 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Sniegpārsliņa"</item>
     <item msgid="7952183800501346803">"Saulessargs"</item>
     <item msgid="799139025758265891">"Darbnīcas rīki"</item>
-    <item msgid="1330084588359129896">"Telts"</item>
+    <item msgid="8112685757657659269">"Klavieres"</item>
     <item msgid="3861584909935022342">"Filmas rullītis"</item>
     <item msgid="5827426100157335512">"Grāmata"</item>
     <item msgid="8585828346253128384">"Lotosa zieds"</item>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index d5fcafd..6333f51 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Iestatīt automātiski, izmantojot tīklu un bezvadu signālus."</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automātiska laika joslu noteikšana"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Iestatīt automātiski, ņemot vērā mobilos tīklus jūsu tuvumā."</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Iestatīt, izmantojot ierīces atrašanās vietu (ja pieejama). Var vajadzēt aktīvu Wi-Fi savienojumu."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Iestatīt automātiski, izmantojot ierīces atrašanās vietu (ja pieejama)"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Izmantot lokalizācijas noklusējuma vērtību"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Izmantot 24 stundu formātu"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Laiks"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Pieejamība"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fiziskā tastatūra"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Atlēcienu taustiņi"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Tastatūra ignorē ātri atkārtotu viena taustiņa nospiešanu."</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Atlēcienu taustiņu slieksnis"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Izvēlieties, cik ilgi tastatūra ignorēs atkārtotu taustiņu nospiešanu."</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Pielāgots"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"pielāgota vērtība"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Lēnie taustiņi"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Tiek pielāgots laiks, kas nepieciešams, lai aktivizētu nospiestu taustiņu."</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Taustiņu ķēde"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Izmantojot īsinājumtaustiņus, vienlaikus nospiediet tikai vienu taustiņu, nevis turiet nospiestus vairākus taustiņus."</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Peles taustiņi"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Izmantojiet tastatūru, lai kontrolētu rādītāju."</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Peles ritināšana atpakaļgaitā"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Ritiniet augšup, lai pārvietotu lapu uz leju"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Apmainīt vietām kreiso un labo pogu"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Izmantojiet peles kreiso pogu kā labo"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Īsinājumtaustiņi"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Rādīt īsinājumtaustiņu sarakstu"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastatūras un rīki darba profilā"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Izvēlieties jaunu taustiņu — <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Fiziskās tastatūras pieejamība"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Taustiņu ķēde, atlēcienu taustiņi, peles taustiņi"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Taustiņu atkārtošana"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Aizkave pirms atkārtošanas"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Atkārtošanas intervāls"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Turot taustiņu nospiestu, tiks atkārtoti ievadīta tā rakstzīme, līdz taustiņš tiks atlaists."</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Izkārtojums: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Noklusējums"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automātiski: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Priekšskatījums"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standarta opcijas"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Valoda"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Parakstu lielums"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Subtitru stils"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Pielāgotas opcijas"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Fona krāsa"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Vai pārtraukt šo VPN savienojumu?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Pārtraukt savienojumu"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versija"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versija <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Aizmirst VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Vai aizstāt esošo VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Vai iestatīt vienmēr ieslēgtu VPN?"</string>
@@ -5463,13 +5461,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Meklēšanas iestatījumi"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontaktpersonas, krātuve, konts"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Kontaktpersonu krātuve"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Tikai ierīcē"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Jaunas kontaktpersonas netiks sinhronizētas ar kontu."</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Pēc noklusējuma kontaktpersonas tiks saglabātas jūsu ierīcē un sinhronizētas ar jūsu kontu."</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nav iestatīts noklusējuma konts"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Lai sāktu darbu, pievienojiet kontu."</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Apvilkt un meklēt"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Pieskarieties un turiet pogu “Sākums” vai navigācijas turi, lai meklētu, izmantojot ekrāna saturu."</string>
 </resources>
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
index 916f2a3..e4b8599 100644
--- a/res/values-mk/arrays.xml
+++ b/res/values-mk/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Снегулка"</item>
     <item msgid="7952183800501346803">"Чадор за плажа"</item>
     <item msgid="799139025758265891">"Алати во работилница"</item>
-    <item msgid="1330084588359129896">"Шатор"</item>
+    <item msgid="8112685757657659269">"Пијано"</item>
     <item msgid="3861584909935022342">"Филмска лента"</item>
     <item msgid="5827426100157335512">"Книга"</item>
     <item msgid="8585828346253128384">"Цвет на лотос"</item>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 6fa7263..826a44a 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Поставете автоматски со вашата мрежа и безжични сигнали"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Автоматска временска зона"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Поставете автоматски според мобилните мрежи во ваша близина"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Поставете автоматски со локацијата на уредот, ако е достапна. Може да треба и активна Wi-Fi врска."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Постави автоматски со локацијата на уредот, ако е достапна"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Користи локален стандард"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Користи 24-часовен формат"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Време"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Пристапност"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Физичка тастатура"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Игнорирај повторени притискања"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Тастатурата игнорира брзи притискања на истото копче што се повторуваат"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Праг на игнор. на повт. притискање"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Изберете го времетраењето кога вашата тастатура ги игнорира повторените притискања на копчињата"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 с."</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 с."</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 с."</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Приспособено"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"приспособена вредност"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Бавни копчиња"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Го приспособува времето за да се активира притискање копче"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Лепливи копчиња"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Притискајте ги копчињата за кратенки едно по едно наместо да ги држите копчињата притиснати заедно"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Копчиња на глувчето"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Користете ја тастатурата за да го контролирате покажувачот"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Обратно лизгање на глувчето"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Лизгајте нагоре за да ја преместите страницата надолу"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Заменете ги местата на левото и десното копче"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Користете го левото копче на глувчето како десно"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Кратенки на тастатурата"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Прикажи список со кратенки"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Тастатури и алатки за работниот профил"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Изберете ново копче за <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Пристапност до физичка тастатура"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"лепливи копчиња, копчиња за игнорирање повторени притискања, копчиња на глувчето"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Повторување на копчињата"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Доцнење пред повторување"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Стапка на повторување"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Притиснете и задржете некое копче за да го повторувате неговиот знак додека не го пуштите копчето"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Распоред на <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Стандардно"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматски: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Преглед"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Стандардни опции"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Јазик"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Големина на титлови"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Стил на титловите"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Приспособени опции"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Боја на заднина"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Да се исклучи оваа VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Прекини врска"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Верзија"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Верзија <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Заборави VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Да се замени постојната VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Да се постави „секогаш вклучена“ VPN?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Пребарувајте низ поставките"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"контакти, складирање, сметка"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Складирање контакти"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Само уред"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Новите контакти нема да се синхронизираат со сметка"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Контактите ќе се зачувуваат на вашиот уред и стандардно ќе се синхронизираат со вашата сметка"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Нема поставено стандардна сметка"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Додајте сметка за да започнете"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Пребарување со заокружување"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Допрете и задржете го копчето за почетен екран или лентата за навигација за да пребарувате со содржините на екранот."</string>
 </resources>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index bd20789..8d30538 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"മഞ്ഞുകട്ട"</item>
     <item msgid="7952183800501346803">"ബീച്ച് കുട"</item>
     <item msgid="799139025758265891">"വർക്ക്‌ഷോപ്പ് ടൂളുകൾ"</item>
-    <item msgid="1330084588359129896">"ടെന്റ്"</item>
+    <item msgid="8112685757657659269">"പിയാനോ"</item>
     <item msgid="3861584909935022342">"ഫിലിം റീൽ"</item>
     <item msgid="5827426100157335512">"പുസ്‌തകം"</item>
     <item msgid="8585828346253128384">"താമരപ്പൂവ്"</item>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 07c653a..5dce61f 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"നിങ്ങളുടെ നെറ്റ്‌വർക്കും വയർലെസ് സിഗ്‌നലുകളും ഉപയോഗിച്ച് സ്വയമേവ സജ്ജീകരിക്കുക"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"സ്വയമേവ ഉള്ള സമയമേഖല"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"നിങ്ങളുടെ സമീപമുള്ള മൊബൈൽ നെറ്റ്‌വർക്കുകളുടെ അടിസ്ഥാനത്തിൽ സ്വയമേവ സജ്ജീകരിക്കുക"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"ലഭ്യമെങ്കിൽ, ഉപകരണ ലൊക്കേഷൻ ഉപയോഗിച്ച് സ്വയമേവ സജ്ജീകരിക്കുക. സജീവ വൈഫൈ കണക്ഷനും ആവശ്യമായേക്കാം."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"ലഭ്യമാണെങ്കിൽ, നിങ്ങളുടെ ഉപകരണ ലൊക്കേഷൻ ഉപയോഗിച്ച് സ്വയമേവ സജ്ജീകരിക്കുക"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ഡിഫോൾട്ട് ഭാഷ ഉപയോഗിക്കുക"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-മണിക്കൂർ ഫോർമാറ്റ് ഉപയോഗിക്കുക"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"സമയം"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"ഒരേ കീ അതിവേഗം ആവർത്തിച്ച് അമർത്തുന്നത് കീബോർഡ് അവഗണിക്കും"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"ബൗൺസ് കീ ത്രെഷോൾഡ്"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"നിങ്ങളുടെ കീബോർഡ്, ആവർത്തിച്ചുള്ള കീ അമർത്തലുകൾ അവഗണിക്കേണ്ടതിന്റെ സമയദൈർഘ്യം തിരഞ്ഞെടുക്കുക"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2 സെക്കൻഡ്"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4 സെക്കൻഡ്"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6 സെക്കൻഡ്"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 സെക്കൻഡ്"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 സെക്കൻഡ്"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 സെക്കൻഡ്"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"ഇഷ്‌ടാനുസൃതം"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"ഇഷ്‍ടാനുസൃത മൂല്യം"</string>
     <string name="slow_keys" msgid="2891452895499690837">"സ്ലോ കീകൾ"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"കീ അമർത്തൽ സജീവമാകാൻ എടുക്കുന്ന സമയം ക്രമീകരിക്കുന്നു"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"സ്‌റ്റിക്കി കീകൾ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"കുറുക്കുവഴികൾക്കായി, കീകൾ ഒരുമിച്ച് അമർത്തിപ്പിടിക്കുന്നതിന് പകരം ഒരു സമയം ഒരു കീ അമർത്തുക"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"മൗസ് കീകൾ"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"പോയിന്റർ നിയന്ത്രിക്കാൻ നിങ്ങളുടെ കീബോർഡ് ഉപയോഗിക്കുക"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"മൗസ് വിപരീത ദിശയിൽ സ്‌ക്രോൾ ചെയ്യൽ"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"പേജ് താഴേക്ക് നീക്കാൻ മുകളിലേക്ക് സ്ക്രോൾ ചെയ്യുക"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"ഇടത്, വലത് ബട്ടണുകൾ സ്വാപ്പ് ചെയ്യുക"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"ഇടത് മൗസ് ബട്ടൺ വലത് ബട്ടണായി ഉപയോഗിക്കുക"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"കീബോഡ് കുറുക്കുവഴികൾ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"കുറുക്കുവഴികളുടെ ലിസ്റ്റ് കാണിക്കുക"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ഔദ്യോഗിക പ്രൊഫൈൽ കീബോർഡുകളും ടൂളുകളും"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> എന്നതിനായി പുതിയ കീ തിരഞ്ഞെടുക്കൂ:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ഫിസിക്കൽ കീബോർഡ് ഉപയോഗസഹായി"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"സ്റ്റിക്കി കീകൾ, ബൗൺസ് കീകൾ, മൗസ് കീകൾ"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"ആവർത്തിക്കുന്ന കീകൾ"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"ആവർത്തിക്കുന്നതിന് മുമ്പുള്ള കാലതാമസം"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"ആവർത്തന നിരക്ക്"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"കീ വിടുന്നത് വരെ അതിന്റെ പ്രതീകം ആവർത്തിക്കാൻ കീ അമർത്തിപ്പിടിക്കുക"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> ലേഔട്ട്"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ഡിഫോൾട്ട്"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"സ്വയമേവ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"പ്രിവ്യൂ ചെയ്യുക"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"സാധാരണ ഓപ്ഷനുകൾ"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ഭാഷ"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"സബ്‌ടൈറ്റിലിന്റെ വലുപ്പം"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"അടിക്കുറിപ്പ് സ്റ്റൈൽ"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"ഇഷ്‌ടാനുസൃത ഓപ്‌ഷനുകൾ"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"പശ്ചാത്തല വര്‍ണം"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"ഈ VPN വിച്ഛേദിക്കണോ?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"വിച്ഛേദിക്കുക"</string>
     <string name="vpn_version" msgid="6344167191984400976">"പതിപ്പ്"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"പതിപ്പ് <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN മറക്കുക"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"നിലവിലുള്ള VPN-ന് പകരം പുതിയതാക്കണോ?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"\'എല്ലായ്പ്പോഴും ഓൺ\' VPN സജ്ജമാക്കണോ?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"ഉപകരണം മാത്രം"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"പുതിയ കോൺടാക്റ്റുകൾ ഒരു അക്കൗണ്ടുമായി സമന്വയിപ്പിക്കില്ല"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"കോൺടാക്റ്റുകൾ നിങ്ങളുടെ ഉപകരണത്തിൽ സംരക്ഷിക്കുകയും ഡിഫോൾട്ടായി നിങ്ങളുടെ അക്കൗണ്ടിലേക്ക് സമന്വയിപ്പിക്കുകയും ചെയ്യും"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"ഡിഫോൾട്ട് ഒന്നും സജ്ജമാക്കിയിട്ടില്ല"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"ആരംഭിക്കുന്നതിന് ഒരു അക്കൗണ്ട് ചേർക്കുക"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"തിരയാൻ വട്ടം വരയ്ക്കൽ"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"നിങ്ങളുടെ സ്ക്രീനിലുള്ള ഉള്ളടക്കം ഉപയോഗിച്ച് തിരയാൻ ഹോം ബട്ടൺ അല്ലെങ്കിൽ നാവിഗേഷൻ ഹാൻഡിൽ സ്‌പർശിച്ചുപിടിക്കുക."</string>
 </resources>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index d7083c8..76bd912 100644
--- a/res/values-mn/arrays.xml
+++ b/res/values-mn/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Цасан ширхэг"</item>
     <item msgid="7952183800501346803">"Далайн эргийн шүхэр"</item>
     <item msgid="799139025758265891">"Урлангийн багаж хэрэгсэл"</item>
-    <item msgid="1330084588359129896">"Майхан"</item>
+    <item msgid="8112685757657659269">"Төгөлдөр хуур"</item>
     <item msgid="3861584909935022342">"Зургийн хальс"</item>
     <item msgid="5827426100157335512">"Ном"</item>
     <item msgid="8585828346253128384">"Бадамлянхуа цэцэг"</item>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index a729377..45ed7fb 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Таны сүлжээ болон утасгүй дохиог ашиглан автоматаар тохируулна"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Автомат цагийн бүс"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Таны ойролцоох хөдөлгөөнт холбооны сүлжээнд үндэслэн автоматаар тохируулна"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Таны төхөөрөмжийн байршлыг ашиглан автоматаар тохируулна. Идэвхтэй Wi-Fi холболт мөн шаардаж болно"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Таны төхөөрөмжийн байршил байгаа тохиолдолд тухайн байршлыг ашиглан автоматаар тохируулна"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Бүс нутгийн өгөгдмөлийг ашиглах"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 цагийн формат ашиглах"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Цаг"</string>
@@ -1946,26 +1946,29 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Хандалт"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Биет гар"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Ойх түлхүүрүүд"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Гар нэг товчийн давтагдсан шуурхай даралтыг үл хэрэгсэнэ"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Ойх товчийн босго"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Таны гар давтагдсан товчийн даралтыг үл хэрэгсэх хугацааг сонгоорой"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
     <skip />
     <string name="slow_keys" msgid="2891452895499690837">"Удаан товчнууд"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Товчийн даралт идэвхжихэд зарцуулах хугацааг тохируулна"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Бэхэлсэн түлхүүрүүд"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Товчлолд товчлууруудыг хамтад нь удаан дарахын оронд нэг удаад нэг товчлуур дарна уу"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Хулганын товч"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Заагчийг хянахад гараа ашиглана уу"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Хулганыг урвуу гүйлгэх"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Хуудсыг доош зөөхийн тулд дээш гүйлгэнэ үү"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Зүүн, баруун товчнуудыг солих"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Хулганын зүүн товчийг баруун товчоороо ашиглана уу"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Гарын товчлол"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Товчлолын жагсаалтыг харуулах"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Ажлын профайлын гар &amp; хэрэгсэл"</string>
@@ -2034,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>-н шинэ товч сонгоно уу:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Биет гарын хандалт"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Бэхэлсэн товч, буцаах товч, хулганын товч"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Товчийг давтах"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Давтахаас өмнөх саатал"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Давтах хурд"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Товчийг суллах хүртэл тэмдгийг нь давтахын тулд тухайн товчин дээр удаан дарна уу"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> бүдүүвч"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Өгөгдмөл"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автомат: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Урьдчилж харах"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Стандарт сонголтууд"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Хэл"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Тайлбарын хэмжээ"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Тайлбарын загвар"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Тусгай сонголтууд"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Дэвсгэр өнгө"</string>
@@ -2987,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Энэ VPN-г салгах уу?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Салгах"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Хувилбар"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"<xliff:g id="VERSION">%s</xliff:g>-р хувилбар"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN-г мартах"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Энэ VPN-г солих уу?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"VPN-г тогтмол асаалттайгаар тохируулах уу?"</string>
@@ -5462,13 +5465,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Хайлтын тохиргоо"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"харилцагчид, хадгалах сан, бүртгэл"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Харилцагчдын хадгалах сан"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Зөвхөн төхөөрөмж"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Шинэ харилцагчдыг бүртгэлтэй синк хийхгүй"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Харилцагчдыг өгөгдмөлөөр таны төхөөрөмжид хадгалж, бүртгэлд тань синк хийнэ"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Өгөгдмөл бүртгэл тохируулаагүй"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Эхлүүлэхийн тулд бүртгэл нэмнэ үү"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Тойруулж зураад хай"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Дэлгэц дээрээ байгаа контентыг ашиглан хайхын тулд Нүүр хуудасны товч, навигацын бариулд хүрээд удаан дарна уу."</string>
 </resources>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index a6ff624..08024ff 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"स्नोफ्लेक"</item>
     <item msgid="7952183800501346803">"समुद्रकिनाऱ्यावर वापरली जाणारी छत्री"</item>
     <item msgid="799139025758265891">"कारखान्यातील अवजारे"</item>
-    <item msgid="1330084588359129896">"तंबू"</item>
+    <item msgid="8112685757657659269">"पियानो"</item>
     <item msgid="3861584909935022342">"फिल्म रील"</item>
     <item msgid="5827426100157335512">"पुस्तक"</item>
     <item msgid="8585828346253128384">"कमळाचे फूल"</item>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index b32a4a1..e43b686 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"तुमचे नेटवर्क आणि वायरलेस सिग्नल वापरून आपोआप सेट करा"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ऑटोमॅटिक टाइम झोन"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"तुमच्या जवळपासच्या मोबाइल नेटवर्कच्या आधारे आपोआप सेट करा"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"उपलब्ध असल्यास, तुमचे डिव्हाइस स्थान वापरून आपोआप सेट करा. अ‍ॅक्टिव्ह वायफाय कनेक्शनदेखील आवश्यक असू शकते."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"तुमचे डिव्हाइस स्थान उपलब्ध असल्यास, ते वापरून आपोआप सेट करा"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"लोकॅल डीफॉल्ट वापरा"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"२४ तास फॉरमॅट वापरा"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"वेळ"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"कीबोर्ड एकसारख्या की झटपट वारंवार प्रेस करण्याकडे दुर्लक्ष करतो"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"बाउन्स कीची मर्यादा"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"तुमचा कीबोर्ड वारंवार की प्रेस करण्याकडे दुर्लक्ष करतो तो कालावधी निवडा"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"०.२से"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"०.४से"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"०.६से"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"०.२से"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"०.४से"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"०.६से"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"कस्टम"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"कस्‍टम मूल्य"</string>
     <string name="slow_keys" msgid="2891452895499690837">"स्लो की"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"ॲक्टिव्हेट करण्यासाठी की प्रेस करण्याकरिता लागणारा वेळ ॲडजस्ट करतात"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"स्टिकी की"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"की एकत्र धरून ठेवण्याऐवजी शॉर्टकटसाठी एकावेळी एक की प्रेस करा"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"माउस की"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"पॉइंटर नियंत्रित करण्यासाठी तुमचा कीबोर्ड वापरा"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"माउस रिव्हर्स स्क्रोलिंग"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"पेज खाली हलवण्यासाठी वरती स्क्रोल करा"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"डावे व उजवे बटण स्वॅप करा"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"माऊसच्या डाव्या बटणाला तुमचे उजवे बटण म्हणून वापरा"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"कीबोर्ड शॉर्टकट"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"शॉर्टकटची सूची दाखवा"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"कार्य प्रोफाइल कीबोर्ड आणि टूल"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> साठी नवीन की निवडा:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"वास्तविक कीबोर्ड अ‍ॅक्सेसिबिलिटी"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"स्टिकी की, बाउन्स की, माउस की"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"की रिपीट करा"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"रिपीट करण्यापूर्वीचा विलंब"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"रिपीट करण्याचा दर"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"एखादी की रिलीझ करेपर्यंत तिचा वर्ण रिपीट करण्यासाठी ती की धरून ठेवा"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> लेआउट"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"डीफॉल्ट"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ऑटोमॅटिक: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"पूर्वावलोकन"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"मानक पर्याय"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"भाषा"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"कॅप्शनचा आकार"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"कॅप्शन शैली"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"कस्टम पर्याय"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"बॅकग्राउंडचा रंग"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"हे VPN डिस्कनेक्ट करायचे?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"‍डिस्कनेक्ट करा"</string>
     <string name="vpn_version" msgid="6344167191984400976">"आवृत्ती"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"आवृत्ती <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN विसरा"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"विद्यमान VPN पुनर्स्थित करायचे?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"नेहमी-सुरू VPN सेट करायचे?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"केवळ डिव्हाइस"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"खात्यासह नवीन संपर्क सिंक केले जाणार नाहीत"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"संपर्क हे तुमच्या डिव्हाइसमध्ये सेव्ह केले जातील आणि बाय डीफॉल्ट तुमच्या खात्यामध्ये सिंक केले जातील"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"कोणतेही डीफॉल्ट अकाउंट सेट केलेले नाही"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"सुरू करण्यासाठी एखादे खाते जोडा"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"शोधण्यासाठी वर्तुळ करा"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"तुमच्या स्क्रीनवरील आशय वापरून शोधण्यासाठी होम बटण किंवा नेव्हिगेशन हँडल स्‍पर्श करून धरून ठेवा."</string>
 </resources>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index 11c4761..9065ddb 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Emping salji"</item>
     <item msgid="7952183800501346803">"Payung pantai"</item>
     <item msgid="799139025758265891">"Alatan bengkel"</item>
-    <item msgid="1330084588359129896">"Khemah"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Gelendong filem"</item>
     <item msgid="5827426100157335512">"Buku"</item>
     <item msgid="8585828346253128384">"Bunga teratai"</item>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index f6ef310..911011e 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Tetapkan secara automatik menggunakan isyarat rangkaian dan wayarles anda"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Zon waktu automatik"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Tetapkan secara automatik berdasarkan rangkaian mudah alih berdekatan anda"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Tetapan automatik dengan lokasi peranti, jika tersedia. Sambungan Wi-Fi aktif mungkin diperlukan."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Tetapkan secara automatik menggunakan lokasi peranti anda, jika tersedia"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Gunakan tetapan lalai tempat peristiwa"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Gunakan format 24 jam"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Masa"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Kebolehaksesan"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Papan kekunci fizikal"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Kekunci lantun"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Papan kekunci mengabaikan tekanan kekunci yang sama secara berulang"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Ambang kekunci lantun"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Pilih tempoh masa papan kekunci anda mengabaikan tekanan kekunci yang berulang"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Tersuai"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"nilai tersuai"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Kekunci perlahan"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Laraskan masa yang diambil untuk mengaktifkan tekanan kekunci"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Kekunci Lekit"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tekan satu kekunci pada satu-satu masa untuk pintasan, bukan menahan beberapa kekunci secara serentak"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Kekunci tetikus"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Gunakan papan kekunci anda untuk mengawal penuding"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Penatalan terbalik tetikus"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Tatal ke atas untuk menggerakkan halaman ke bawah"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Tukar butang kiri ke kanan dan kanan ke kiri"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Gunakan butang tetikus kiri sebagai klik kanan anda"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Pintasan papan kekunci"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Tunjukkan senarai pintasan"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Papan kekunci &amp; alatan profil kerja"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Pilih kunci baharu untuk <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Kebolehaksesan papan kekunci fizikal"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Kekunci lekit, Kekunci lantun, Kekunci tetikus"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Kekunci Berulang"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Lengah sebelum ulang"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Kadar Pengulangan"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Tahan kekunci ke bawah untuk mengulangi aksara tersebut sehingga kekunci tersebut dilepaskan"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Reka letak <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Lalai"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2217,7 +2215,7 @@
     <string name="accessibility_tutorial_dialog_twofinger_doubletap_instruction" msgid="1007756360115974649">"Untuk memulakan dan menghentikan pembesaran, ketik skrin dua kali dengan pantas menggunakan %1$d jari"</string>
     <string name="accessibility_tutorial_dialog_message_quick_setting" msgid="3715446725334547432">"{count,plural, =1{Untuk menggunakan ciri ini, leret ke bawah daripada bahagian atas skrin anda. Kemudian, cari jubin {featureName}.}other{Untuk menggunakan ciri ini, leret ke bawah daripada bahagian atas skrin anda menggunakan # jari. Kemudian, cari jubin {featureName}.}}"</string>
     <string name="accessibility_tutorial_dialog_shortcut_unavailable_in_suw" msgid="3847728530771929959">"Pintasan ini akan tersedia selepas anda menyelesaikan persediaan peranti."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Untuk menggunakan ciri ini, leret ke atas dari bahagian bawah skrin dengan menggunakan 2 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 2 jari dan tahan."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Untuk menggunakan ciri ini, leret ke atas dari bawah skrin dengan 2 jari.\n\nUntuk beralih antara ciri, leret ke atas dengan 2 jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_gesture_shortcut_instruction" msgid="7349950768250852308">"{count,plural, =1{Untuk menggunakan ciri ini, leret ke atas daripada bahagian bawah skrin anda}other{Untuk menggunakan ciri ini, leret ke atas menggunakan # jari daripada bahagian bawah skrin anda}}"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Untuk menggunakan ciri ini, leret ke atas dari bahagian bawah skrin dengan menggunakan 3 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 3 jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Untuk menggunakan ciri kebolehcapaian, leret ke atas dari bahagian bawah skrin dengan menggunakan 2 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 2 hari dan tahan."</string>
@@ -2234,7 +2232,7 @@
     <string name="accessibility_shortcut_edit_dialog_summary_floating_button" msgid="6266489864614886247">"Ketik butang terapung"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_by_gesture" msgid="4775049370625630546">"Gerak isyarat kebolehaksesan"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software" msgid="8315934725362849788">"Ketik butang kebolehaksesan <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> pada bahagian bawah skrin. Untuk beralih antara ciri, sentuh &amp; tahan butang kebolehaksesan."</string>
-    <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Leret ke atas daripada bahagian bawah skrin. Untuk beralih antara ciri, leret ke atas dan tahan.}other{Leret ke atas menggunakan # jari daripada bahagian bawah skrin. Untuk beralih antara ciri, leret ke atas menggunakan # jari dan tahan.}}"</string>
+    <string name="accessibility_shortcut_edit_dialog_summary_gesture" msgid="2081123009255579884">"{count,plural, =1{Leret ke atas dari bawah skrin. Untuk beralih antara ciri, leret ke atas dan tahan.}other{Leret ke atas menggunakan # jari dari bawah skrin. Untuk beralih antara ciri, leret ke atas menggunakan # jari dan tahan.}}"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating" msgid="4459254227203203324"><annotation id="link">"Lagi pilihan"</annotation></string>
     <string name="footer_learn_more_content_description" msgid="8843798273152131341">"Ketahui lebih lanjut tentang <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_dialog_title_quick_settings" msgid="140959604014177304">"Tetapan Pantas"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Pratonton"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Pilihan standard"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Bahasa"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Saiz sari kata"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Gaya sari kata"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Pilihan tersuai"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Warna latar belakang"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Putuskan sambungan VPN ini?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Putuskan sambungan"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versi"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versi <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Lupakan VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Gantikan VPN yang sedia ada?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Tetapkan VPN sentiasa hidup?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Carian Tetapan"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kenalan, storan, akaun"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Storan kenalan"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Peranti sahaja"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Kenalan baharu tidak akan disegerakkan dengan akaun"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kenalan akan disimpan pada peranti anda dan disegerakkan kepada akaun anda secara lalai"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Tiada akaun lalai ditetapkan"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Tambahkan akaun untuk bermula"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Bulatkan untuk Membuat Carian"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Sentuh dan tahan butang Skrin Utama atau pemegang navigasi untuk membuat carian menggunakan kandungan pada skrin anda."</string>
 </resources>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index e7aeef7..2e18956 100644
--- a/res/values-my/arrays.xml
+++ b/res/values-my/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"နှင်းပွင့်"</item>
     <item msgid="7952183800501346803">"ကမ်းခြေထီး"</item>
     <item msgid="799139025758265891">"အလုပ်ရုံတူးလ်များ"</item>
-    <item msgid="1330084588359129896">"တဲ"</item>
+    <item msgid="8112685757657659269">"စန္ဒရား"</item>
     <item msgid="3861584909935022342">"ဖလင်လိပ်"</item>
     <item msgid="5827426100157335512">"စာအုပ်"</item>
     <item msgid="8585828346253128384">"ကြာပန်း"</item>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 5a0a6d1..9c5288f 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"သင့်ကွန်ရက်နှင့် ကြိုးမဲ့အချက်ပြမှုများသုံး၍ အလိုအလျောက်သတ်မှတ်သည်"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"အလိုအလျောက် ဒေသစံတော်ချိန်"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"သင့်အနီးရှိ မိုဘိုင်းကွန်ရက်များပေါ် အခြေခံ၍ အလိုအလျောက်သတ်မှတ်သည်"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"ရနိုင်ပါက သင့်စက်တည်နေရာသုံး၍ အလိုအလျောက်သတ်မှတ်သည်။ ပွင့်နေသော Wifi ချိတ်ဆက်မှုလည်း လိုအပ်နိုင်သည်။"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"ရနိုင်ပါက သင့်စက်တည်နေရာသုံး၍ အလိုအလျောက်သတ်မှတ်သည်"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ဒေသ၏ ဘာသာစကားစနစ်ကို သုံးရန်"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"၂၄-နာရီပုံစံကို အသုံးပြုရန်"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"အချိန်"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"အများသုံးနိုင်မှု"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"စက်၏ ကီးဘုတ်"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"ပြန်ကန်ကီးများ"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"ကီးဘုတ်သည် ကီးတစ်ခုတည်း အကြိမ်ကြိမ် အမြန်နှိပ်ခြင်းကို လျစ်လျူရှုသည်"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"ကြိမ်ထပ်နှိပ်ခြင်းများ သတ်မှတ်ချက်"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"ကီးအကြိမ်ကြိမ်နှိပ်ခြင်းကို ကီးဘုတ်က လျစ်လျူရှုမည့်ကြာချိန် ရွေးပါ"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"၀.၂ စက္ကန့်"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"၀.၄ စက္ကန့်"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"၀.၆ စက္ကန့်"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"စိတ်ကြိုက်"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"စိတ်ကြိုက်တန်ဖိုး"</string>
     <string name="slow_keys" msgid="2891452895499690837">"အနှေးကီးများ"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"ဖွင့်ရန် ကီးနှိပ်ခြင်းအတွက် ကြာချိန်ကို ပြင်ပေးသည်"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ကပ်ခွာကီးများ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ဖြတ်လမ်းလင့်ခ်များအတွက် ခလုတ်များကို တစ်ပြိုင်တည်းဖိထားမည့်အစား တစ်ကြိမ်လျှင် ခလုတ်တစ်ခု နှိပ်နိုင်သည်"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"မောက်စ်ကီးများ"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"ညွှန်မှတ် ထိန်းချုပ်ရန် သင့်ကီးဘုတ်ကို သုံးပါ"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"မောက်စ်ပြောင်းပြန်လှိမ့်ခြင်း"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"စာမျက်နှာအောက်သို့ ရွှေ့ရန်အတွက် အပေါ်သို့လှိမ့်ပါ"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"ဘယ်နှင့်ညာခလုတ်များ ပြောင်းရန်"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"ဘယ်ဘက်မောက်စ်ခလုတ်ကို ညာဘက်ခလုတ်အဖြစ် သုံးနိုင်သည်"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"လက်ကွက်ဖြတ်လမ်းများ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ဖြတ်လမ်းလင့်ခ်များစာရင်း ပြပါ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"အလုပ်ပရိုဖိုင် လက်ကွက်နှင့် တူးလ်များ"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> အတွက် ကီးအသစ်ရွေးပါ-"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ပကတိကီးဘုတ် အများသုံးနိုင်မှု"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ကပ်ခွာကီး၊ တစ်ကြိမ်နှိပ်ကီး၊ မောက်စ်ကီး"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"ပြန်ကျော့ကီးများ"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"ပြန်မကျော့မီ ကြန့်ကြာချိန်"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"ပြန်ကျော့နှုန်း"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"ကီး၏အက္ခရာကို ပြန်ကျော့ရန် ဖိထားပြီးမှ လွှတ်လိုက်ပါ"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> အပြင်အဆင်"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"မူရင်း"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"အလိုအလျောက်- <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"အစမ်းကြည့်ရှုရန်"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"ပုံမှန်ရွေးချယ်စရာများ"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ဘာသာစကား"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"စာတန်းအရွယ်အစား"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"စာတန်းပုံစံ"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"စိတ်ကြိုက်ရွေးချယ်စရာများ"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"နောက်ခံအရောင်"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"ဤ VPN အား ချိတ်ဆက်မှု ဖြုတ်လိုပါသလား။"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ဆက်သွယ်မှု ဖြတ်ရန်"</string>
     <string name="vpn_version" msgid="6344167191984400976">"ဗားရှင်း"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"ဗားရှင်း <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN ကိုမေ့လိုက်ပါ"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"ရှိပြီးသား VPN ကိုအစားထိုးမလား။"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"VPN ကို အမြဲတမ်းဖွင့်ထားရန် သတ်မှတ်မလား။"</string>
@@ -4435,7 +4433,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"စနစ် လမ်းညွှန်ခြင်း၊ ခလုတ် ၂ ခု ဖြင့် လမ်းညွှန်ခြင်း၊ ခလုတ် ၃ ခု ဖြင့် လမ်းညွှန်ခြင်း၊ လက်ဟန်ဖြင့် လမ်းညွှန်ခြင်း၊ ပွတ်ဆွဲခြင်း"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ဒစ်ဂျစ်တယ်အထောက်အကူ"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Assistant ကို ညွှန်ကြားရန် ပွတ်ဆွဲခြင်း"</string>
-    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်ကို ညွှန်ကြားရန် အောက်ခြေထောင့်မှ အပေါ်သို့ ပွတ်ဆွဲပါ"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ဒစ်ဂျစ်တယ် အထောက်အကူ အက်ပ်ကို ညွှန်ကြားရန် အောက်ခြေထောင့်မှ အပေါ်သို့ ပွတ်ဆွဲပါ"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant အတွက် ပင်မခလုတ် နှိပ်ထားခြင်း"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ဒစ်ဂျစ်တယ်အထောက်အကူ အက်ပ်ကို ညွှန်ကြားရန် ပင်မခလုတ် နှိပ်ထားပါ။"</string>
     <string name="low_label" msgid="6525629096999711220">"နိမ့်"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"ဆက်တင်များတွင် ရှာရန်"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"အဆက်အသွယ်များ၊ သိုလှောင်ခန်း၊ အကောင့်"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"အဆက်အသွယ်များ သိုလှောင်ခန်း"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"စက်ပစ္စည်းသီးသန့်"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"အဆက်အသွယ်အသစ်များကို အကောင့်နှင့် စင့်ခ်လုပ်မည်မဟုတ်ပါ"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"မူရင်းသတ်မှတ်ချက်အရ အဆက်အသွယ်များကို သင့်စက်တွင်သိမ်းပြီး အကောင့်နှင့် စင့်ခ်လုပ်ပါမည်"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"ပုံသေ သတ်မှတ်မထားပါ"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"စတင်ရန် အကောင့်ထည့်ပါ"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"ရှာရန် ကွက်၍ဝိုင်းလိုက်ပါ"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"သင့်စခရင်ပေါ်ရှိ အကြောင်းအရာသုံး၍ ရှာရန်အတွက် ပင်မခလုတ် (သို့) လမ်းညွှန်ဘားကို တို့ထိ၍ ဖိထားပါ။"</string>
 </resources>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 3f45262..d217ad1 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snøflak"</item>
     <item msgid="7952183800501346803">"Strandparasoll"</item>
     <item msgid="799139025758265891">"Verktøy på verksted"</item>
-    <item msgid="1330084588359129896">"Telt"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Filmspole"</item>
     <item msgid="5827426100157335512">"Bok"</item>
     <item msgid="8585828346253128384">"Lotusblomst"</item>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index d501ad2..d4680c6 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Angi automatisk med nettverket og trådløse signaler"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatisk tidssone"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Angi automatisk basert på mobilnettverk i nærheten"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Angi automatisk med enhetsposisjonen, hvis tilgjengelig. Aktiv wifi er kanskje også nødvendig."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Angi automatisk med enhetsposisjonen, hvis tilgjengelig"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Bruk lokal standard"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Bruk 24-timers format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Tid"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Tilgjengelighet"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fysisk tastatur"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Filtertaster"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Tastaturet ignorerer raskt gjentatte trykk på samme tast"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Grense for filtertaster"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Velg hvor lenge tastaturet skal ignorere gjentatte tastetrykk"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Egendefinert"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"egendefinert verdi"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Hengende taster"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Justerer tiden det tar før tastetrykk aktiveres"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Trege taster"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Aktiver hurtigtaster ved å trykke på én tast av gangen i stedet for å holde flere taster inne samtidig"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Museknapper"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Bruk tastaturet til å kontrollere pekeren"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Omvendt rulling med musen"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Rull opp for å flytte siden ned"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Bytt om på venstre og høyre knapp"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Bruk venstre museknapp som høyre"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Hurtigtaster"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Vis listen over hurtigtaster"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastatur og verktøy i jobbprofilen"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Velg en ny tast for <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Tilgjengelighet med fysisk tastatur"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Trege taster, filtertaster, musetaster"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Gjenta taster"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Forsinkelse før gjentakelse"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Gjentakelseshastighet"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Hold en tast inne for å gjenta tegnet til du slipper opp tasten"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g>-oppsett"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatisk: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Forhåndsvisning"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardvalg"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Språk"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Tekststørrelse"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Tekststil"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Tilpassede alternativer"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Bakgrunnsfarge"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Vil du koble fra dette VPN-et?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Koble fra"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versjon"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versjon <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Glem VPN-profilen"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Vil du erstatte det nåværende VPN-et?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Vil du angi alltid på-VPN?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Søk i innstillingene"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontakter, lagring, konto"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Kontaktlager"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Bare enheten"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nye kontakter synkroniseres ikke med kontoer"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakter lagres på enheten og synkroniseres med kontoen din som standard"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Ingen standard er valgt"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Legg til en konto for å komme i gang"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Trykk og hold på hjemknappen eller navigasjonshåndtaket for å søke med innholdet på skjermen."</string>
 </resources>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index 2249545..2f88846 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"हिमकण"</item>
     <item msgid="7952183800501346803">"समुद्री तटमा प्रयोग गरिने छाता"</item>
     <item msgid="799139025758265891">"वर्कसप प्रयोग गरिने औजारहरू"</item>
-    <item msgid="1330084588359129896">"पाल"</item>
+    <item msgid="8112685757657659269">"पियानो"</item>
     <item msgid="3861584909935022342">"फिल्म रिल"</item>
     <item msgid="5827426100157335512">"पुस्तक"</item>
     <item msgid="8585828346253128384">"कमल फूल"</item>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index 37ac582..3b522bb 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"तपाईंको नेटवर्क र वायरलेस सिग्नल प्रयोग गरेर मिति र समय स्वतः सेट गर्नुहोस्"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"स्वचालित प्रामाणिक समय"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"तपाईंको नजिकै भएका मोबाइल नेटवर्कका आधारमा मिति र समय स्वतः सेट गर्नुहोस्"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"उपलब्ध भएमा आफ्नो डिभाइसको लोकेसन प्रयोग गरेर मिति र समय स्वतः सेट गर्नुहोस्। सक्रिय Wi-Fi कनेक्सन पनि चाहिन सक्छ।"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"उपलब्ध भएमा आफ्नो डिभाइसको लोकेसन प्रयोग गरेर मिति र समय स्वतः सेट गर्नुहोस्"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"लोकेलको डिफल्ट सेटिङ प्रयोग गर्नुहोस्"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"२४-घण्टे ढाँचा प्रयोग गर्नुहोस्"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"समय"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"एक्सेसिबिलिटी सुविधा"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"फिजिकल किबोर्ड"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"बाउन्स की"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"एउटै की बारम्बार थिच्दा किबोर्डले तुरुन्तै बेवास्ता गर्छ"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"बाउन्स कीको सीमा"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"कति समयसम्म बारम्बार की थिच्दा किबोर्डले बेवास्ता गर्छ भन्ने कुरा छनौट गर्नुहोस्"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"०.२ सेकेन्ड"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"०.४ सेकेन्ड"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"०.६ सेकेन्ड"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"कस्टम"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"कस्टम मान"</string>
     <string name="slow_keys" msgid="2891452895499690837">"स्लो की"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"कुनै की कति समयसम्म थिच्दा एक्टिभेट हुन्छ भन्ने कुरा मिलाउँछ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"स्टिकी की"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"सर्टकट प्राप्त गर्नका लागि कीहरू सँगै थिचिराख्नुको साटो एक पटकमा एउटा की थिच्नुहोस्"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"माउस की"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"पोइन्टर नियन्त्रण गर्न किबोर्ड प्रयोग गर्नुहोस्"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"माउसको विपरीत दिशामा स्क्रोल गर्ने विकल्प"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"पेज सारेर तल लैजान माथितिर स्क्रोल गर्नुहोस्"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"दायाँ र बायाँ बटन अदलबदल गर्नुहोस्"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"माउसको बायाँपट्टिको बटनलाई दायाँ बटनका रूपमा प्रयोग गर्नुहोस्"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"किबोर्डका सर्टकटहरू"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"सर्टकटहरूको सूची देखाउनुहोस्"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"कार्य प्रोफाइल किबोर्ड र उपकरणहरू"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> को नयाँ की छनौट गर्नुहोस्:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"भौतिक किबोर्डको सर्वसुलभता"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"स्टिकी कीहरू, बाउन्स कीहरू, माउस कीहरू"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"कीहरू दोहोर्‍याउनुहोस्"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"वर्ण दोहोरिनुअघि सम्बन्धित कि कति बेरसम्म थिच्न सकिन्छ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"दोहोरिने दर"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"की नछाड्नुन्जेल कीको वर्ण दोहोर्‍याउन की थिचिराख्नुहोस्"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> लेआउट"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"डिफल्ट"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"स्वचालित: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"पूर्वावलोकन"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"डिफल्ट विकल्पहरू"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"भाषा"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"क्याप्सनको आकार"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"क्याप्सनको शैली"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">" कस्टम विकल्प"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"पृष्ठभूमि रङ्ग"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"यो VPN को जडान विच्छेद गर्ने हो?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"डिस्कनेक्ट गर्नुहोस्"</string>
     <string name="vpn_version" msgid="6344167191984400976">"संस्करण"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"संस्करण <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN लाई बिर्सनुहोस्"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"विद्यमान VPN लाई बदल्ने हो?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"सधैँ-सक्रिय VPN लाई सेट गर्ने हो?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"सेटिङ खोज्नुहोस्"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"कन्ट्याक्ट, भण्डारण, खाता"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"कन्ट्याक्टहरूको भण्डारण"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"डिभाइस मात्र"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"नयाँ कन्ट्याक्टहरू खातासँग सिंक गरिने छैनन्"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"डिफल्ट सेटिङअनुसार कन्ट्याक्टहरू तपाईंको डिभाइसमा सेभ गरिने छन् र तपाईंको खातामा सिंक गरिने छन्"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"कुनै डिफल्ट खाता सेट गरिएको छैन"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"सुरु गर्न खाता हाल्नुहोस्"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"खोज्न सर्कल बनाउनुहोस्"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"आफ्नो स्क्रिनमा सामग्री प्रयोग गरेर खोज्न होम बटन वा नेभिगेसन ह्यान्डल टच एण्ड होल्ड गर्नुहोस्।"</string>
 </resources>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index b8e9c78..3f280ff 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Sneeuwvlok"</item>
     <item msgid="7952183800501346803">"Parasol"</item>
     <item msgid="799139025758265891">"Werkplaatsgereedschap"</item>
-    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Filmrol"</item>
     <item msgid="5827426100157335512">"Boek"</item>
     <item msgid="8585828346253128384">"Lotusbloem"</item>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index c70d0ca..c939241 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Automatisch instellen met je netwerk- en draadloze signalen"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatische tijdzone"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Automatisch instellen op basis van mobiele netwerken bij jou in de buurt"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Automatisch instellen met apparaatlocatie, indien beschikbaar. Soms is ook een actieve wifi-verbinding vereist."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Automatisch instellen met apparaatlocatie, indien beschikbaar"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Standaardinstelling voor land gebruiken"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-uurs klok gebruiken"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Tijd"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Het toetsenbord negeert snel herhaald indrukken van dezelfde toets"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Drempelwaarde voor stuitertoetsen"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Kies hoelang je toetsenbord herhaald indrukken van toetsen negeert"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Aangepast"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"aangepaste waarde"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Langzame toetsen"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Past de tijd voordat een toetsaanslag wordt geactiveerd aan"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Plaktoetsen"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Druk toetsen één voor één in voor snelkoppelingen in plaats van meerdere toetsen tegelijkertijd"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Muisknoppen"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Gebruik je toetsenbord om de cursor te bedienen"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Omgekeerd scrollen met muis"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Scroll omhoog om de pagina omlaag te verplaatsen"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Knoppen links en rechts omwisselen"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Gebruik de linkermuisknop als je rechtermuisknop"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Sneltoetsen"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Toon lijst met sneltoetsen"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Toetsenborden en tools van werkprofiel"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Kies een nieuwe toets voor <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Toegankelijkheid met fysiek toetsenbord"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Plaktoetsen, bouncetoetsen, muisknoppen"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Toetsen herhalen"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Vertraging vóór herhaling"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Herhalingssnelheid"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Houd een toets ingedrukt om het bijbehorende teken te herhalen totdat de toets wordt losgelaten"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Indeling: <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standaard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatisch: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Voorbeeld"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standaardopties"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Taal"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Grootte van ondertiteling"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Ondertitelstijl"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Aangepaste opties"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Achtergrondkleur"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Verbinding met dit VPN verbreken?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Verbinding verbreken"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versie"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versie <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN vergeten"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Bestaande VPN vervangen?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Always-on VPN instellen?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Alleen apparaat"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nieuwe contacten worden niet gesynchroniseerd met een account"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Contacten worden standaard opgeslagen op je apparaat en gesynchroniseerd met je account"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Geen standaard ingesteld"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Voeg een account toe om aan de slag te gaan"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Houd je vinger op de startknop of de navigatiehandgreep om te zoeken op basis van de content op je scherm."</string>
 </resources>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 133c6cf..c003c2d 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"ସ୍ନୋଫ୍ଲେକ"</item>
     <item msgid="7952183800501346803">"ବେଳାଭୂମିରେ ଛତା"</item>
     <item msgid="799139025758265891">"ୱାର୍କସପ ଟୁଲ"</item>
-    <item msgid="1330084588359129896">"ଟେଣ୍ଟ"</item>
+    <item msgid="8112685757657659269">"ପିଆନୋ"</item>
     <item msgid="3861584909935022342">"ଫିଲ୍ମ ରିଲ"</item>
     <item msgid="5827426100157335512">"ବହି"</item>
     <item msgid="8585828346253128384">"ପଦ୍ମ ଫୁଲ"</item>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 679d9d0..623d5d2 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"ଆପଣଙ୍କ ନେଟୱାର୍କ ଏବଂ ୱାୟାରଲେସ ସିଗନାଲକୁ ବ୍ୟବହାର କରି ସ୍ୱତଃ ସେଟ କରନ୍ତୁ"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ସ୍ୱତଃ ଟାଇମ ଜୋନ"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"ଆପଣଙ୍କ ନିକଟରେ ଥିବା ମୋବାଇଲ ନେଟୱାର୍କ ଆଧାରରେ ସ୍ୱତଃ ସେଟ କରନ୍ତୁ"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"ଯଦି ଉପଲବ୍ଧ ଥାଏ, ତେବେ ଆପଣଙ୍କ ଡିଭାଇସର ଲୋକେସନକୁ ବ୍ୟବହାର କରି ସ୍ୱତଃ ସେଟ ହୋଇଥାଏ। ଏକ ସକ୍ରିୟ ୱାଇଫାଇ କନେକ୍ସନ ମଧ୍ୟ ଆବଶ୍ୟକ ହୋଇପାରେ।"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"ଯଦି ଉପଲବ୍ଧ ଥାଏ, ତେବେ ଆପଣଙ୍କ ଡିଭାଇସର ଲୋକେସନକୁ ବ୍ୟବହାର କରି ସ୍ୱତଃ ସେଟ ହୋଇଥାଏ"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ଡିଫଲ୍ଟ ସ୍ଥାନର ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-ଘଣ୍ଟିଆ ଫର୍ମାଟ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"ସମୟ"</string>
@@ -711,7 +711,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • ଫେସ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"ପାସୱାର୍ଡ • ଫେସ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ଫେସ୍ ଅନଲକ୍ ବିନା ଜାରି ରଖନ୍ତୁ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ଟିପଚିହ୍ନ କିମ୍ବା ଫେସ ବିନା ଜାରି ରଖନ୍ତୁ"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ କିମ୍ବା ଫେସ ବିନା ଜାରି ରଖନ୍ତୁ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"କିଛି ନାହିଁ"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ସ୍ୱାଇପ"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ପାଟର୍ନ"</string>
@@ -1946,26 +1946,29 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ଆକ୍ସେସିବିଲିଟୀ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"ଫିଜିକାଲ୍ କୀବୋର୍ଡ"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"ବାଉନ୍ସ କୀଗୁଡ଼ିକ"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"କୀବୋର୍ଡ ସମାନ କୀ ଶୀଘ୍ର ବାରମ୍ବାର ଦବାଇବାକୁ ଅଣଦେଖା କରେ"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"ବାଉନ୍ସ କୀ ଥ୍ରେସହୋଲ୍ଡ"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"ଆପଣଙ୍କ କୀବୋର୍ଡ ବାରମ୍ବାର କୀ ଦବାଇବାକୁ ଅଣଦେଖା କରୁଥିବା ସମୟ ଅବଧି ବାଛନ୍ତୁ"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
     <skip />
     <string name="slow_keys" msgid="2891452895499690837">"ଶ୍ଲୋ କୀଗୁଡ଼ିକ"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"ସକ୍ରିୟ କରିବାକୁ ଏକ କୀ ଦବାଇବା ପାଇଁ ଲାଗୁଥିବା ସମୟକୁ ଏହା ଆଡଜଷ୍ଟ କରେ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ଷ୍ଟିକି କୀଗୁଡ଼ିକ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ଏକାଠି କୀଗୁଡ଼ିକୁ ଦବାଇ ଧରିବା ପରିବର୍ତ୍ତେ ସର୍ଟକର୍ଟଗୁଡ଼ିକ ପାଇଁ ଥରକେ ଗୋଟିଏ କୀ ଦବାନ୍ତୁ"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"ମାଉସ କୀଗୁଡ଼ିକ"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"ପଏଣ୍ଟରକୁ ନିୟନ୍ତ୍ରଣ କରିବା ପାଇଁ ଆପଣଙ୍କ କୀବୋର୍ଡକୁ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"ମାଉସ ରିଭର୍ସ ସ୍କ୍ରୋଲିଂ"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"ପୃଷ୍ଠାକୁ ତଳକୁ ମୁଭ କରିବା ପାଇଁ ଉପରକୁ ସ୍କ୍ରୋଲ କରନ୍ତୁ"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"ବାମ ଏବଂ ଡାହାଣ ବଟନକୁ ସ୍ୱାପ କରନ୍ତୁ"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"ମାଉସର ବାମ ବଟନକୁ ଆପଣଙ୍କ ଡାହାଣ ବଟନ ଭାବେ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"କୀବୋର୍ଡ଼ ସର୍ଟକଟଗୁଡ଼ିକ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ସର୍ଟକଟଗୁଡ଼ିକର ତାଲିକା ଦେଖାନ୍ତୁ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ୱର୍କ ପ୍ରୋଫାଇଲ୍ କୀବୋର୍ଡ &amp; ଟୁଲ୍‌ଗୁଡ଼ିକ"</string>
@@ -2034,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> ପାଇଁ ଏକ ନୂଆ କୀ ବାଛନ୍ତୁ:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ଫିଜିକାଲ କୀବୋର୍ଡ ଆକ୍ସେସିବିଲିଟୀ"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ଷ୍ଟିକି କୀ, ବାଉନ୍ସ କୀ, ମାଉସ କୀ"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"କୀଗୁଡ଼ିକୁ ରିପିଟ କରନ୍ତୁ"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"ରିପିଟ ପୂର୍ବରୁ ହେବା ବିଳମ୍ବ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"ରିପିଟ ରେଟ"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"କୀ ରିଲିଜ ନହେବା ପର୍ଯ୍ୟନ୍ତ ଏହାର କେରେକ୍ଟରକୁ ରିପିଟ କରିବା ପାଇଁ ଗୋଟିଏ କୀ\'କୁ ଦବାଇ ଧରନ୍ତୁ"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> ଲେଆଉଟ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ପୂର୍ବ-ନିର୍ଦ୍ଧାରିତ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ସ୍ୱତଃ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2225,7 +2228,7 @@
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ବୁଝିଗଲି"</string>
     <string name="accessibility_tutorial_dialog_link_button" msgid="13364319079385020">"ବଟନକୁ କଷ୍ଟମାଇଜ କରନ୍ତୁ"</string>
     <string name="accessibility_tutorial_dialog_configure_software_shortcut_type" msgid="8041105223988170653">"ଅଧିକ ବିକଳ୍ପ"</string>
-    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ସର୍ଟକଟ୍"</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ସର୍ଟକଟ"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="48978719406821294">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="7346399253904683940">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
@@ -2442,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"ପ୍ରିଭ୍ୟୁ"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"ଷ୍ଟାଣ୍ଡାର୍ଡ ବିକଳ୍ପଗୁଡ଼ିକ"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ଭାଷା"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"କେପ୍ସନ ସାଇଜ"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"କ୍ୟାପସନ୍‌ ଷ୍ଟାଇଲ୍‌"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"କଷ୍ଟମ୍‌ ବିକଳ୍ପଗୁଡିକ"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"ପୃଷ୍ଠପଟ ରଙ୍ଗ"</string>
@@ -2987,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"ଏହି VPNକୁ ବିଚ୍ଛିନ୍ନ କରିବେ?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ଡିସକନେକ୍ଟ କରନ୍ତୁ"</string>
     <string name="vpn_version" msgid="6344167191984400976">"ସଂସ୍କରଣ"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"ଭର୍ସନ <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPNକୁ ଭୁଲିଯାଅ"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"ପୂର୍ବରୁ ଥିବା VPNକୁ ବଦଳାଇବେ?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"ସର୍ବଦା-ଅନ୍‌ ଥିବା VPN ସେଟ୍‌ କରିବେ?"</string>
@@ -5463,13 +5466,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"ସର୍ଚ୍ଚ ସେଟିଂସ"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"କଣ୍ଟାକ୍ଟ, ଷ୍ଟୋରେଜ, ଆକାଉଣ୍ଟ"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"କଣ୍ଟାକ୍ଟ ଷ୍ଟୋରେଜ"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"କେବଳ ଡିଭାଇସ"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"ଏକ ଆକାଉଣ୍ଟ ସହ ନୂଆ କଣ୍ଟାକ୍ଟଗୁଡ଼ିକ ସିଙ୍କ ହେବ ନାହିଁ"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"କଣ୍ଟାକ୍ଟଗୁଡ଼ିକ ଆପଣଙ୍କ ଡିଭାଇସରେ ସେଭ ହେବ ଏବଂ ଡିଫଲ୍ଟ ଭାବେ ଆପଣଙ୍କ ଆକାଉଣ୍ଟରେ ସିଙ୍କ ହେବ"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"କୌଣସି ଡିଫଲ୍ଟ ଆକାଉଣ୍ଟ ସେଟ କରାଯାଇନାହିଁ"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"ଆରମ୍ଭ କରିବାକୁ ଏକ ଆକାଉଣ୍ଟ ଯୋଗ କରନ୍ତୁ"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"ସର୍ଚ୍ଚ କରିବାକୁ ସର୍କଲ କରନ୍ତୁ"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଥିବା ବିଷୟବସ୍ତୁକୁ ବ୍ୟବହାର କରି ସର୍ଚ୍ଚ କରିବା ପାଇଁ ହୋମ ବଟନ କିମ୍ବା ନାଭିଗେସନ ହେଣ୍ଡେଲକୁ ସ୍ପର୍ଶ କରି ଧରି ରଖନ୍ତୁ।"</string>
 </resources>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index 3b40ab4..26664a4 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"ਸਨੋਫਲੇਕ"</item>
     <item msgid="7952183800501346803">"ਬੀਚ ਵਾਲੀ ਛੱਤਰੀ"</item>
     <item msgid="799139025758265891">"ਵਰਕਸ਼ਾਪ ਦੇ ਔਜ਼ਾਰ"</item>
-    <item msgid="1330084588359129896">"ਤੰਬੂ"</item>
+    <item msgid="8112685757657659269">"ਪਿਆਨੋ"</item>
     <item msgid="3861584909935022342">"ਫ਼ਿਲਮ ਰੀਲ"</item>
     <item msgid="5827426100157335512">"ਬੁੱਕ ਕਰੋ"</item>
     <item msgid="8585828346253128384">"ਕਮਲ ਦਾ ਫੁੱਲ"</item>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 21cfb97..94b2c5f 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"ਨੈੱਟਵਰਕ ਅਤੇ ਵਾਇਰਲੈੱਸ ਸਿਗਨਲਾਂ ਵਰਤ ਕੇ ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਸੈੱਟ ਹੋਣ ਦੀ ਸੁਵਿਧਾ ਪਾਓ"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ਸਮਾਂ ਖੇਤਰ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਸੈੱਟ ਹੋਣ ਦੀ ਸੁਵਿਧਾ"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"ਆਪਣੇ ਨੇੜੇ-ਤੇੜੇ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕਾਂ ਦੇ ਆਧਾਰ \'ਤੇ ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਸੈੱਟ ਹੋਣ ਦੀ ਸੁਵਿਧਾ ਪਾਓ"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"ਡੀਵਾਈਸ ਟਿਕਾਣੇ ਦੇ ਮੁਤਾਬਕ ਸਮਾਂ ਅਤੇ ਤਾਰੀਖ ਖੁਦ ਸੈੱਟ ਹੋਣ ਦੀ ਸੁਵਿਧਾ ਪਾਓ। ਵਾਈ-ਫਾਈ ਕਨੈਕਸ਼ਨ ਦੀ ਲੋੜ ਪੈ ਸਕਦੀ ਹੈ।"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"ਡੀਵਾਈਸ ਟਿਕਾਣੇ ਦੇ ਮੁਤਾਬਕ ਸਮਾਂ ਅਤੇ ਤਾਰੀਖ ਖੁਦ ਸੈੱਟ ਹੋਣ ਦੀ ਸੁਵਿਧਾ ਪਾਓ"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਸਥਾਨਕ ਸਮਾਂ ਵਰਤੋ"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-ਘੰਟੇ ਵਾਲਾ ਫਾਰਮੈਟ ਵਰਤੋ"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"ਸਮਾਂ"</string>
@@ -711,7 +711,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"ਪਿੰਨ • ਚਿਹਰਾ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"ਪਾਸਵਰਡ • ਚਿਹਰਾ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ਫ਼ੇਸ ਅਣਲਾਕ ਤੋਂ ਬਿਨਾਂ ਜਾਰੀ ਰੱਖੋ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਜਾਂ ਚਿਹਰਾ ਅਣਲਾਕ ਦੇ ਬਿਨਾਂ ਜਾਰੀ ਰੱਖੋ"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਜਾਂ ਫ਼ੇਸ ਅਣਲਾਕ ਦੇ ਬਿਨਾਂ ਜਾਰੀ ਰੱਖੋ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ਕੋਈ ਨਹੀਂ"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ਪੈਟਰਨ"</string>
@@ -1949,15 +1949,26 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"ਵਾਰ-ਵਾਰ ਇੱਕੋ ਕੁੰਜੀ ਨੂੰ ਦਬਾਉਂਦੇ ਰਹਿਣ \'ਤੇ ਕੀ-ਬੋਰਡ ਉਸਨੂੰ ਅਣਡਿੱਠ ਕਰ ਦਿੰਦਾ ਹੈ"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"ਬਾਊਂਸ-ਕੀ ਦੀ ਨਿਊਨਤਮ ਸੀਮਾ"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"ਚੁਣੋ ਕਿ ਕਿਸੇ ਕੁੰਜੀ ਨੂੰ ਕਿੰਨੀ ਦੇਰ ਤੱਕ ਵਾਰ-ਵਾਰ ਦਬਾਉਣ \'ਤੇ ਕੀ-ਬੋਰਡ ਕੋਈ ਕਾਰਵਾਈ ਨਹੀਂ ਕਰੇਗਾ"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2 ਸਕਿੰਟ"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4 ਸਕਿੰਟ"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6 ਸਕਿੰਟ"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
+    <skip />
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
+    <skip />
     <string name="slow_keys" msgid="2891452895499690837">"ਸਲੋ ਕੁੰਜੀਆਂ"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"ਕਿਸੇ ਕੁੰਜੀ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਵਿੱਚ ਲੱਗਣ ਵਾਲੇ ਸਮੇਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਦਾ ਹੈ"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ਸਥਿਰ ਕੁੰਜੀਆਂ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ਸ਼ਾਰਟਕੱਟਾਂ ਲਈ ਕੁੰਜੀਆਂ ਨੂੰ ਇਕੱਠੇ ਦਬਾਈ ਰੱਖਣ ਦੀ ਬਜਾਏ ਇੱਕ ਵਾਰ ਵਿੱਚ ਇੱਕ ਕੁੰਜੀ ਦਬਾਓ"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"ਮਾਊਸ ਕੁੰਜੀਆਂ"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"ਪੁਆਇੰਟਰ ਨੂੰ ਕੰਟਰੋਲ ਕਰਨ ਲਈ ਆਪਣਾ ਕੀ-ਬੋਰਡ ਵਰਤੋ"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"ਮਾਊਸ ਦੀ ਉਲਟ ਸਕ੍ਰੋਲਿੰਗ"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"ਪੰਨੇ ਨੂੰ ਹੇਠਾਂ ਲਿਜਾਉਣ ਲਈ ਉੱਪਰ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"ਖੱਬੇ ਅਤੇ ਸੱਜੇ ਬਟਨਾਂ ਨੂੰ ਸਵੈਪ ਕਰੋ"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"ਮਾਊਸ ਦੇ ਖੱਬੇ ਬਟਨ ਨੂੰ ਆਪਣੇ ਸੱਜੇ ਬਟਨ ਵਜੋਂ ਵਰਤੋ"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"ਕੀ-ਬੋਰਡ ਸ਼ਾਰਟਕੱਟ"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ਸ਼ਾਰਟਕੱਟਾਂ ਦੀ ਸੂਚੀ ਦਿਖਾਓ"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਕੀ-ਬੋਰਡ ਅਤੇ ਟੂਲ"</string>
@@ -2026,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> ਲਈ ਨਵੀਂ ਕੁੰਜੀ ਚੁਣੋ:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਪਹੁੰਚਯੋਗਤਾ"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ਸਥਿਰ ਕੁੰਜੀਆਂ, ਬਾਊਂਸ ਕੁੰਜੀਆਂ, ਮਾਊਸ ਕੁੰਜੀਆਂ"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"ਕੁੰਜੀਆਂ ਨੂੰ ਦੁਹਰਾਓ"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"ਦੁਹਰਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਦੇਰੀ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"ਦੁਹਰਾਉਣ ਦੀ ਦਰ"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"ਕਿਸੇ ਕੁੰਜੀ ਨੂੰ ਦਬਾ ਕੇ ਰੱਖਣ \'ਤੇ, ਉਸ ਕੁੰਜੀ ਦਾ ਅੱਖਰ-ਚਿੰਨ੍ਹ ਉਦੋਂ ਤੱਕ ਦੁਹਰਾਇਆ ਜਾਵੇਗਾ, ਜਦੋਂ ਤੱਕ ਕੁੰਜੀ ਨੂੰ ਛੱਡਿਆ ਨਹੀਂ ਜਾਂਦਾ"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> ਖਾਕਾ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ਸਵੈਚਲਿਤ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"ਪੂਰਵ-ਝਲਕ"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"ਮਿਆਰੀ ਚੋਣਾਂ"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ਭਾਸ਼ਾ"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"ਸੁਰਖੀ ਦਾ ਆਕਾਰ"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"ਸੁਰਖੀ ਦੀ ਸ਼ੈਲੀ"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"ਵਿਉਂਂਤੀ ਵਿਕਲਪ"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"ਬੈਕਗ੍ਰਾਉਂਡ ਦਾ ਰੰਗ"</string>
@@ -2979,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"ਇਹ VPN ਡਿਸਕਨੈਕਟ ਕਰੀਏ?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
     <string name="vpn_version" msgid="6344167191984400976">"ਵਰਜਨ"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"ਵਰਜਨ <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN ਨੂੰ ਭੁੱਲ ਜਾਓ"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"ਕੀ ਮੌਜੂਦਾ VPN ਨੂੰ ਤਬਦੀਲ ਕਰਨਾ ਹੈ?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"ਕੀ ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN ਨੂੰ ਸੈੱਟ ਕਰਨਾ ਹੈ?"</string>
@@ -3886,7 +3897,7 @@
     <string name="zen_mode_other_sounds_summary" msgid="8784400697494837032">"{count,plural,offset:2 =0{ਕੋਈ ਵੀ ਚੀਜ਼ ਵਿਘਨ ਨਹੀਂ ਪਾ ਸਕਦੀ}=1{{sound_category_1} ਕਰਕੇ ਵਿਘਨ ਪੈ ਸਕਦਾ ਹੈ}=2{{sound_category_1} ਅਤੇ {sound_category_2} ਕਰਕੇ ਵਿਘਨ ਪੈ ਸਕਦਾ ਹੈ}=3{{sound_category_1}, {sound_category_2}, ਅਤੇ{sound_category_3} ਕਰਕੇ ਵਿਘਨ ਪੈ ਸਕਦਾ ਹੈ}other{{sound_category_1}, {sound_category_2}, ਅਤੇ # ਹੋਰ ਚੀਜ਼ਾਂ ਕਰਕੇ ਵਿਘਨ ਪੈ ਸਕਦਾ ਹੈ}}"</string>
     <string name="zen_mode_sounds_none" msgid="6557474361948269420">"ਕੋਈ ਵੀ ਚੀਜ਼ ਵਿਘਨ ਨਹੀਂ ਪਾ ਸਕਦੀ"</string>
     <string name="zen_mode_people_none" msgid="4613147461974255046">"ਕੋਈ ਵੀ ਵਿਘਨ ਨਹੀਂ ਪਾ ਸਕਦਾ"</string>
-    <string name="zen_mode_people_some" msgid="9101872681298810281">"ਕੁਝ ਲੋਕ ਵਿਘਨ ਪਾ ਸਕਦੇ ਹਨ"</string>
+    <string name="zen_mode_people_some" msgid="9101872681298810281">"ਕੁਝ ਲੋਕ ਰੁਕਾਵਟ ਪੈਦਾ ਕਰ ਸਕਦੇ ਹਨ"</string>
     <string name="zen_mode_people_repeat_callers" msgid="4499084111069828761">"ਵਾਰ-ਵਾਰ ਕਾਲ ਕਰਨ ਵਾਲਿਆਂ ਕਰਕੇ ਰੁਕਾਵਟ ਪੈ ਸਕਦੀ ਹੈ"</string>
     <string name="zen_mode_people_all" msgid="311036110283015205">"ਸਾਰੇ ਲੋਕ ਵਿਘਨ ਪਾ ਸਕਦੇ ਹਨ"</string>
     <string name="zen_mode_repeat_callers" msgid="2270356100287792138">"ਦੁਬਾਰਾ ਕਾਲ ਕਰਨ ਵਾਲੇ"</string>
@@ -5457,6 +5468,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"ਸਿਰਫ਼ ਡੀਵਾਈਸ"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"ਨਵੇਂ ਸੰਪਰਕਾਂ ਨੂੰ ਕਿਸੇ ਖਾਤੇ ਨਾਲ ਸਿੰਕ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"ਸੰਪਰਕਾਂ ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤੌਰ \'ਤੇ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾਵੇਗਾ ਅਤੇ ਤੁਹਾਡੇ ਖਾਤੇ ਨਾਲ ਸਿੰਕ ਕੀਤਾ ਜਾਵੇਗਾ"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"ਕੁਝ ਵੀ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਵਜੋਂ ਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ ਕੋਈ ਖਾਤਾ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"ਖੋਜਣ ਲਈ ਚੱਕਰ ਬਣਾਓ"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਮੌਜੂਦ ਸਮੱਗਰੀ ਦੀ ਵਰਤੋਂ ਕਰ ਕੇ ਖੋਜਣ ਲਈ ਹੋਮ ਬਟਨ ਨੈਵੀਗੇਸ਼ਨ ਹੈਂਡਲ ਨੂੰ ਸਪਰਸ਼ ਕਰ ਕੇ ਰੱਖੋ।"</string>
 </resources>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index b2634cd..cdb1ce5 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Płatek śniegu"</item>
     <item msgid="7952183800501346803">"Parasol plażowy"</item>
     <item msgid="799139025758265891">"Narzędzia warsztatowe"</item>
-    <item msgid="1330084588359129896">"Namiot"</item>
+    <item msgid="8112685757657659269">"Fortepian"</item>
     <item msgid="3861584909935022342">"Klatka filmowa"</item>
     <item msgid="5827426100157335512">"Książka"</item>
     <item msgid="8585828346253128384">"Kwiat lotosu"</item>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 92057eb..1c9cc5a 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Ustaw automatycznie za pomocą sygnałów bezprzewodowych i sieci"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatyczna strefa czasowa"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Ustaw automatycznie na podstawie pobliskich sieci komórkowych"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Ustaw automatycznie według lokalizacji, jeśli jest dostępna. Może być też wymagane aktywne Wi-Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Ustaw automatycznie według lokalizacji, jeśli jest dostępna"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Używaj ustawień domyślnych dla regionu"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Format 24-godzinny"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Godzina"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Ułatwienia dostępu"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Klawiatura fizyczna"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Klawisze z filtrem powtórzeń"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Klawiatura ignoruje szybko powtarzane naciśnięcia tego samego klawisza"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Próg klawisza z filtrem powtórzeń"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Wybierz czas, przez który klawiatura ma ignorować powtarzane naciśnięcia klawiszy"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Niestandardowa"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"wartość niestandardowa"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Klawisze powolne"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Dostosowuje czas wymagany do aktywacji naciśnięcia klawisza"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Klawisze trwałe"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Naciśnij 1 klawisz, aby zyskać dostęp do skrótów, zamiast przytrzymywać kilka jednocześnie"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Klawisze sterowania myszą"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Używaj klawiatury do sterowania wskaźnikiem"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Odwrotne przewijanie myszą"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Przewiń w górę, aby przesunąć stronę w dół"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Zamień lewy i prawy przycisk"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Używaj lewego przycisku myszy jako prawego"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Skróty klawiszowe"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Lista skrótów"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Klawiatura i narzędzia w profilu służbowym"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Wybierz nowy klawisz jako <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Ułatwienia dostępu z klawiatury fizycznej"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Klawisze trwałe, Klawisze z filtrem powtórzeń, klawisze sterowania myszą"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Powtarzaj znaki klawiszy"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Opóźnienie przed powtórzeniem"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Szybkość powtarzania"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Przytrzymaj klawisz, aby powtarzać dany znak"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Układ <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Domyślny"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatyczny: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Podgląd"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opcje standardowe"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Język"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Rozmiar napisów"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Styl napisów"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opcje niestandardowe"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Kolor tła"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Odłączyć tę sieć VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Odłącz"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Wersja"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Wersja <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Zapomnij VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Zastąpić obecną sieć VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Ustawić stały VPN?"</string>
@@ -5464,13 +5462,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Ustawienia wyszukiwania"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontakty, spis, konto"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Spis kontaktów"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Tylko urządzenie"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nowe kontakty nie będą synchronizowane z kontem"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakty będą domyślnie zapisywane na urządzeniu i synchronizowane z kontem"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nie ustawiono konta domyślnego"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Na początek dodaj konto"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Zaznacz, aby wyszukać"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Aby wyszukać to, co jest widoczne na ekranie, naciśnij i przytrzymaj przycisk ekranu głównego lub uchwyt nawigacyjny."</string>
 </resources>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index 6822b22..35df470 100644
--- a/res/values-pt-rBR/arrays.xml
+++ b/res/values-pt-rBR/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Floco de neve"</item>
     <item msgid="7952183800501346803">"Guarda-sol"</item>
     <item msgid="799139025758265891">"Ferramentas"</item>
-    <item msgid="1330084588359129896">"Barraca"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Rolo de filme"</item>
     <item msgid="5827426100157335512">"Livro"</item>
     <item msgid="8585828346253128384">"Flor de lótus"</item>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 7700159..61760a7 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Definir automaticamente usando sua rede e sinais sem fio"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Fuso horário automático"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Definir automaticamente com base nas redes móveis perto de você"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Definir automaticamente usando o local do dispositivo, se disponível. Também pode ser necessário ter uma conexão Wi-Fi ativa."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Definir automaticamente usando o local do dispositivo, se disponível"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar o padrão do local"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Usar formato de 24 horas"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Horário"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Acessibilidade"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Teclas de filtragem"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"O teclado ignora pressionamentos rápidos e repetidos da mesma tecla"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Limite da tecla de filtragem"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Escolha por quanto tempo o teclado ignora pressionamentos repetidos"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personalizado"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valor personalizado"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Ajusta o tempo que leva para um pressionamento de tecla ser ativado"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas de aderência"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pressione uma tecla por vez para usar atalhos em vez de manter as teclas pressionadas juntas"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Teclas do mouse"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Use o teclado para controlar o ponteiro"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Rolagem reversa do mouse"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Deslize para cima para descer na página"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Trocar os botões esquerdo e direito"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Use o botão esquerdo do mouse como o direito"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Atalhos do teclado"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostrar lista de atalhos"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados e ferramentas de perfil de trabalho"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Escolha uma nova tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Acessibilidade do teclado físico"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Teclas de aderência, teclas de filtragem, teclas do mouse"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repetir teclas"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Atraso antes da repetição"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Taxa de repetição"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Pressione e segure uma tecla para repetir o caractere dela até que seja liberada"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Layout do <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Padrão"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2217,7 +2215,7 @@
     <string name="accessibility_tutorial_dialog_twofinger_doubletap_instruction" msgid="1007756360115974649">"Para iniciar ou interromper a ampliação, toque duas vezes rapidamente com %1$d dedos na tela"</string>
     <string name="accessibility_tutorial_dialog_message_quick_setting" msgid="3715446725334547432">"{count,plural, =1{Para usar esse recurso, deslize de cima para baixo na tela. Depois, encontre o bloco {featureName}.}one{Para usar esse recurso, deslize com # dedo de cima para baixo na tela. Depois, encontre o bloco {featureName}.}other{Para usar esse recurso, deslize com # dedos de cima para baixo na tela. Depois, encontre o bloco {featureName}.}}"</string>
     <string name="accessibility_tutorial_dialog_shortcut_unavailable_in_suw" msgid="3847728530771929959">"Esse atalho vai estar disponível depois que você concluir a configuração do dispositivo."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esse recurso, deslize dois dedos na rela, de baixo para cima.\n\nPara mudar de recurso, deslize dois dedos de baixo para cima da tela e segure."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esse recurso, deslize dois dedos na tela, de baixo para cima.\n\nPara mudar de recurso, deslize dois dedos de baixo para cima da tela e segure."</string>
     <string name="accessibility_tutorial_dialog_gesture_shortcut_instruction" msgid="7349950768250852308">"{count,plural, =1{Para usar esse recurso, deslize de baixo para cima na tela}one{Para usar esse recurso, deslize com # dedo de baixo para cima na tela}other{Para usar esse recurso, deslize com # dedos de baixo para cima na tela}}"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esse recurso, deslize de baixo para cima na tela com três dedos.\n\nPara mudar de recurso, deslize de baixo para cima com três dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar um recurso de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Visualização"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opções padrão"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Idioma"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Tamanho da legenda"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Estilo da legenda"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opções de personalização"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Cor do plano de fundo"</string>
@@ -2625,7 +2622,7 @@
     <string name="power_wifi" msgid="4614007837288250325">"Wi-Fi"</string>
     <string name="power_bluetooth" msgid="5085900180846238196">"Bluetooth"</string>
     <string name="power_cell" msgid="7793805106954398186">"Rede móvel"</string>
-    <string name="power_phone" msgid="2768396619208561670">"Chamadas de voz"</string>
+    <string name="power_phone" msgid="2768396619208561670">"Ligações"</string>
     <string name="battery_screen_usage" msgid="90008745183187461">"Uso da tela: <xliff:g id="TIME">^1</xliff:g>"</string>
     <string name="battery_used_by" msgid="6457305178016189330">"<xliff:g id="PERCENT">%1$s</xliff:g> de uso por <xliff:g id="APP">%2$s</xliff:g>"</string>
     <string name="battery_overall_usage" msgid="8940140259734182014">"<xliff:g id="PERCENT">%1$s</xliff:g> da bateria total"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Desconectar esta VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Desconectar"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versão"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versão <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Esquecer VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Substituir VPN já existente?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Configurar VPN sempre ativa?"</string>
@@ -4941,7 +4939,7 @@
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Painel de configurações"</string>
     <string name="enable_desktop_mode" msgid="5644818402534562302">"Ativar janelas de forma livre"</string>
-    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Permitir janelas de forma livre na tela secundária"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Ativar janelas de forma livre na tela secundária"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ativar recursos não redimensionáveis em várias janelas"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permitir que apps não redimensionáveis sejam usados em várias janelas"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Manter o recurso Forçar modo escuro ativado"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Pesquisar configurações"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contatos, armazenamento, conta"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Armazenamento de contatos"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Somente dispositivo"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Os novos contatos não serão sincronizados com uma conta"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Os contatos serão salvos no seu dispositivo e sincronizados com sua conta por padrão"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nenhuma conta padrão configurada"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Adicione uma conta para começar"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circule para pesquisar"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Toque no botão home ou na alça de navegação e pressione para pesquisar usando o conteúdo na tela."</string>
 </resources>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index 15a519e..2b2b596 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Floco de neve"</item>
     <item msgid="7952183800501346803">"Guarda-sol"</item>
     <item msgid="799139025758265891">"Ferramentas de oficina"</item>
-    <item msgid="1330084588359129896">"Tenda"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Bobina de filme"</item>
     <item msgid="5827426100157335512">"Livro"</item>
     <item msgid="8585828346253128384">"Flor de lótus"</item>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index d3ec13e..6718b7d 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Definir automaticamente com base na sua rede e sinais sem fios"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Fuso horário automático"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Definir automaticamente com base nas redes móveis perto de si"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Definir autom. c/ localização do disp., se disponível. Também pode ser necessária uma ligação Wi-Fi ativa."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Definir automaticamente com base na localização do dispositivo, se disponível"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar local predefinido"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Usar formato de 24 horas"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Hora"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"O teclado ignora as pressões rápidas repetidas da mesma tecla"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Limiar para evitar pressão repetida"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Escolha o tempo durante o qual o teclado ignora as pressões repetidas das teclas"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personalizado"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valor personalizado"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Ajusta o tempo que demora a ativação de uma tecla pressionada"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas aderentes"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Prima uma tecla de cada vez para os atalhos em vez de manter as teclas premidas em simultâneo"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Teclas do rato"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Use o teclado para controlar o ponteiro"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Deslocamento inverso do rato"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Desloque para cima para mover a página para baixo"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Trocar botões esquerdo e direito"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Use o botão esquerdo do rato como o botão direito"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Atalhos de teclado"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostre a lista de atalhos"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados e ferramentas do perfil de trabalho"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Escolha uma nova tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Acessibilidade do teclado físico"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Teclas aderentes, teclas sem repetição, teclas do rato"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repetir teclas"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Atraso antes da repetição"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Taxa de repetição"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Mantenha uma tecla premida para repetir o respetivo caráter até a tecla ser libertada"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Esquema do <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predefinição"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Pré-visualizar"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opções padrão"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Idioma"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Tamanho das legendas"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Estilo das legendas"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opções personalizadas"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Cor de fundo"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Quer desligar esta VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Desligar"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versão"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versão <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Esquecer VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Quer substituir a VPN existente?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Quer definir a VPN como sempre ativa?"</string>
@@ -5214,7 +5220,7 @@
     <string name="reboot_dialog_reboot_later" msgid="4261717094186904568">"Reiniciar mais tarde"</string>
     <string name="bluetooth_details_spatial_audio_title" msgid="1368071116994002707">"Áudio espacial"</string>
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"O áudio de dispositivos multimédia compatíveis torna-se mais envolvente"</string>
-    <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Acompanhamento da cabeça"</string>
+    <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Posição da cabeça"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"O áudio muda conforme move a cabeça para soar mais natural"</string>
     <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronizar autorizações do telemóvel"</string>
     <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Conceda ao seu relógio as mesmas autorizações da app que concedeu a este telemóvel"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Apenas no dispositivo"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Os novos contactos não vão ser sincronizados com uma conta"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Os contactos vão ser guardados no dispositivo e sincronizados com a sua conta por predefinição"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nenhuma conta predefinida"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Adicione uma conta para começar"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circundar para Pesquisar"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Toque sem soltar no botão do ecrã principal ou no indicador de navegação para pesquisar usando o conteúdo no ecrã."</string>
 </resources>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index 6822b22..35df470 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Floco de neve"</item>
     <item msgid="7952183800501346803">"Guarda-sol"</item>
     <item msgid="799139025758265891">"Ferramentas"</item>
-    <item msgid="1330084588359129896">"Barraca"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Rolo de filme"</item>
     <item msgid="5827426100157335512">"Livro"</item>
     <item msgid="8585828346253128384">"Flor de lótus"</item>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 7700159..61760a7 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Definir automaticamente usando sua rede e sinais sem fio"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Fuso horário automático"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Definir automaticamente com base nas redes móveis perto de você"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Definir automaticamente usando o local do dispositivo, se disponível. Também pode ser necessário ter uma conexão Wi-Fi ativa."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Definir automaticamente usando o local do dispositivo, se disponível"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Usar o padrão do local"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Usar formato de 24 horas"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Horário"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Acessibilidade"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Teclado físico"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Teclas de filtragem"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"O teclado ignora pressionamentos rápidos e repetidos da mesma tecla"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Limite da tecla de filtragem"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Escolha por quanto tempo o teclado ignora pressionamentos repetidos"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personalizado"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valor personalizado"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Ajusta o tempo que leva para um pressionamento de tecla ser ativado"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Teclas de aderência"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Pressione uma tecla por vez para usar atalhos em vez de manter as teclas pressionadas juntas"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Teclas do mouse"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Use o teclado para controlar o ponteiro"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Rolagem reversa do mouse"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Deslize para cima para descer na página"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Trocar os botões esquerdo e direito"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Use o botão esquerdo do mouse como o direito"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Atalhos do teclado"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostrar lista de atalhos"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados e ferramentas de perfil de trabalho"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Escolha uma nova tecla para <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Acessibilidade do teclado físico"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Teclas de aderência, teclas de filtragem, teclas do mouse"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repetir teclas"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Atraso antes da repetição"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Taxa de repetição"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Pressione e segure uma tecla para repetir o caractere dela até que seja liberada"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Layout do <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Padrão"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automático: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2217,7 +2215,7 @@
     <string name="accessibility_tutorial_dialog_twofinger_doubletap_instruction" msgid="1007756360115974649">"Para iniciar ou interromper a ampliação, toque duas vezes rapidamente com %1$d dedos na tela"</string>
     <string name="accessibility_tutorial_dialog_message_quick_setting" msgid="3715446725334547432">"{count,plural, =1{Para usar esse recurso, deslize de cima para baixo na tela. Depois, encontre o bloco {featureName}.}one{Para usar esse recurso, deslize com # dedo de cima para baixo na tela. Depois, encontre o bloco {featureName}.}other{Para usar esse recurso, deslize com # dedos de cima para baixo na tela. Depois, encontre o bloco {featureName}.}}"</string>
     <string name="accessibility_tutorial_dialog_shortcut_unavailable_in_suw" msgid="3847728530771929959">"Esse atalho vai estar disponível depois que você concluir a configuração do dispositivo."</string>
-    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esse recurso, deslize dois dedos na rela, de baixo para cima.\n\nPara mudar de recurso, deslize dois dedos de baixo para cima da tela e segure."</string>
+    <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esse recurso, deslize dois dedos na tela, de baixo para cima.\n\nPara mudar de recurso, deslize dois dedos de baixo para cima da tela e segure."</string>
     <string name="accessibility_tutorial_dialog_gesture_shortcut_instruction" msgid="7349950768250852308">"{count,plural, =1{Para usar esse recurso, deslize de baixo para cima na tela}one{Para usar esse recurso, deslize com # dedo de baixo para cima na tela}other{Para usar esse recurso, deslize com # dedos de baixo para cima na tela}}"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esse recurso, deslize de baixo para cima na tela com três dedos.\n\nPara mudar de recurso, deslize de baixo para cima com três dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar um recurso de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Visualização"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opções padrão"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Idioma"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Tamanho da legenda"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Estilo da legenda"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opções de personalização"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Cor do plano de fundo"</string>
@@ -2625,7 +2622,7 @@
     <string name="power_wifi" msgid="4614007837288250325">"Wi-Fi"</string>
     <string name="power_bluetooth" msgid="5085900180846238196">"Bluetooth"</string>
     <string name="power_cell" msgid="7793805106954398186">"Rede móvel"</string>
-    <string name="power_phone" msgid="2768396619208561670">"Chamadas de voz"</string>
+    <string name="power_phone" msgid="2768396619208561670">"Ligações"</string>
     <string name="battery_screen_usage" msgid="90008745183187461">"Uso da tela: <xliff:g id="TIME">^1</xliff:g>"</string>
     <string name="battery_used_by" msgid="6457305178016189330">"<xliff:g id="PERCENT">%1$s</xliff:g> de uso por <xliff:g id="APP">%2$s</xliff:g>"</string>
     <string name="battery_overall_usage" msgid="8940140259734182014">"<xliff:g id="PERCENT">%1$s</xliff:g> da bateria total"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Desconectar esta VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Desconectar"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versão"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versão <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Esquecer VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Substituir VPN já existente?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Configurar VPN sempre ativa?"</string>
@@ -4941,7 +4939,7 @@
     <string name="bluetooth_header_battery_content_description" msgid="3804237436331504879">"Bateria"</string>
     <string name="settings_panel_title" msgid="346363079938069215">"Painel de configurações"</string>
     <string name="enable_desktop_mode" msgid="5644818402534562302">"Ativar janelas de forma livre"</string>
-    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Permitir janelas de forma livre na tela secundária"</string>
+    <string name="enable_desktop_mode_on_secondary_display" msgid="2609567824593768780">"Ativar janelas de forma livre na tela secundária"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Ativar recursos não redimensionáveis em várias janelas"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Permitir que apps não redimensionáveis sejam usados em várias janelas"</string>
     <string name="hwui_force_dark_title" msgid="4256904905631994219">"Manter o recurso Forçar modo escuro ativado"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Pesquisar configurações"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"contatos, armazenamento, conta"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Armazenamento de contatos"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Somente dispositivo"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Os novos contatos não serão sincronizados com uma conta"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Os contatos serão salvos no seu dispositivo e sincronizados com sua conta por padrão"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nenhuma conta padrão configurada"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Adicione uma conta para começar"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circule para pesquisar"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Toque no botão home ou na alça de navegação e pressione para pesquisar usando o conteúdo na tela."</string>
 </resources>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index b7d382c..1872920 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Fulg de nea"</item>
     <item msgid="7952183800501346803">"Umbrelă de plajă"</item>
     <item msgid="799139025758265891">"Instrumente din atelier"</item>
-    <item msgid="1330084588359129896">"Cort"</item>
+    <item msgid="8112685757657659269">"Pian"</item>
     <item msgid="3861584909935022342">"Bobină de film"</item>
     <item msgid="5827426100157335512">"Carte"</item>
     <item msgid="8585828346253128384">"Floare de lotus"</item>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 44e38ba..1f6e065 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Setează automat folosind semnalele de rețea și wireless"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Fus orar automat"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Setează automat în funcție de rețelele mobile din apropiere"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Setează automat folosind locația, dacă este disponibilă. Poate fi necesară o conexiune Wi-Fi activă."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Setează automat folosind locația, dacă este disponibilă"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Folosește codul local prestabilit"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Folosește formatul de 24 de ore"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Oră"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Accesibilitate"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Tastatură fizică"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Taste nerepetate"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Tastatura ignoră apăsările repetate rapid ale aceleiași taste"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Pragul pentru evitarea apăsării repetate"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Alege durata de timp în care tastatura ignoră apăsările repetate ale tastelor"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 sec."</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 sec."</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 sec."</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Personalizată"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"valoare personalizată"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Taste lente"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Ajustează timpul necesar pentru activarea unei apăsări de tastă"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Taste adezive"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Apasă câte o tastă pentru comenzile rapide în loc să ții apăsate tastele împreună"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Butoanele mouse-ului"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Folosește tastatura pentru a controla indicatorul"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Derularea inversă cu mouse-ul"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Derulează în sus pentru a muta pagina în jos"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Schimbă butoanele stâng și drept"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Folosește butonul stâng al mouse-ului ca pe cel drept"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Comenzi rapide de la tastatură"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Afișează lista de comenzi rapide"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastaturi și instrumente pt. profilul de serviciu"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Alege o nouă tastă pentru <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accesibilitatea tastaturii fizice"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Taste adezive, Taste nerepetate, Butoanele mouse-ului"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Repetă tastele"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Durata până la repetare"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Frecvența de repetare"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Apasă lung o tastă pentru a repeta caracterul respectiv până când o eliberezi"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Aspectul <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Prestabilit"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automat: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Previzualizare"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opțiuni standard"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Limbă"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Dimensiunea subtitrării"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Stilul subtitrării"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Opțiuni personalizate"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Culoare de fundal"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Vrei să te deconectezi de la această rețea VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Deconectează-te"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versiune"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versiunea <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Elimină profilul VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Înlocuiești rețeaua VPN existentă?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Setezi rețeaua VPN ca activată permanent?"</string>
@@ -5463,13 +5461,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Caută în setări"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"agendă, spațiu de stocare, cont"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Stocarea datelor din Agendă"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Numai pe dispozitiv"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Contactele noi nu se vor sincroniza cu un cont"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Persoanele de contact vor fi salvate pe dispozitiv și sincronizate cu contul în mod prestabilit"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nicio setare prestabilită"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Adaugă un cont pentru a începe"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Încercuiește și caută"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Atinge lung butonul Ecran de pornire sau ghidajul de navigare ca să cauți folosind conținutul de pe ecran."</string>
 </resources>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index 8dd023f..7a989eb 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Снежинка"</item>
     <item msgid="7952183800501346803">"Пляжный зонт"</item>
     <item msgid="799139025758265891">"Инструменты в мастерской"</item>
-    <item msgid="1330084588359129896">"Палатка"</item>
+    <item msgid="8112685757657659269">"Пианино"</item>
     <item msgid="3861584909935022342">"Кинопленка"</item>
     <item msgid="5827426100157335512">"Книга"</item>
     <item msgid="8585828346253128384">"Цветок лотоса"</item>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 1492f90..66404db 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Устанавливать автоматически, используя сеть устройства и беспроводные сигналы"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Автоматическое определение часового пояса"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Устанавливать автоматически, используя мобильные сети поблизости"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Устанавливать автоматически, используя геолокацию. Может требоваться подключение к Wi-Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Устанавливать автоматически, используя геолокацию"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Региональные настройки по умолчанию"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-часовой формат"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Время"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Специальные возможности"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Физическая клавиатура"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Контроль повторного нажатия"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Быстро повторяющиеся нажатия одной клавиши на клавиатуре будут игнорироваться"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Интервал между повторными нажатиями"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Выберите, в течение какого времени будут игнорироваться повторные нажатия клавиши на клавиатуре."</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 сек."</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 сек."</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 сек."</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Свой вариант"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"пользовательское значение"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Медленные клавиши"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Настроить длительность интервала между нажатием клавиши и назначенным на нее действием"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Залипание клавиш"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Вместо того чтобы удерживать вместе все клавиши из сочетания, нажимайте их по одной"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Клавиши управления мышью"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Управлять указателем с помощью клавиатуры"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Прокручивать мышью в обратном направлении"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Если прокрутить вверх, страница прокрутится вниз"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Поменять местами левую и правую кнопки"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Использовать левую кнопку мыши в качестве правой"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Быстрые клавиши"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Показывать список сочетаний клавиш"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Клавиатуры и инструменты рабочего профиля"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Выберите новую клавишу для <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Специальные возможности для физической клавиатуры"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Залипание клавиш, контроль повторного нажатия, клавиши управления мышью"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Повторный ввод символа"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Задержка перед повторным нажатием"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Скорость повторного ввода"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Повторять ввод символа, пока удерживается клавиша"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Раскладка \"<xliff:g id="IME_LABEL">%s</xliff:g>\""</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"По умолчанию"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматически: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2225,7 +2223,7 @@
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ОК"</string>
     <string name="accessibility_tutorial_dialog_link_button" msgid="13364319079385020">"Настроить кнопку"</string>
     <string name="accessibility_tutorial_dialog_configure_software_shortcut_type" msgid="8041105223988170653">"Ещё"</string>
-    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Быстрый запуск функции \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
+    <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Быстрый запуск \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="48978719406821294">"Кнопка специальных возможностей"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="7346399253904683940">"Жест специальных возможностей"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"Движение вверх по экрану двумя пальцами"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Предпросмотр"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Стандартные настройки"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Язык"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Размер субтитров"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Стиль субтитров"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Собственные настройки"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Цвет фона"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Отключиться от VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Да"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Версия"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Версия <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Удалить VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Сменить текущую VPN-сеть?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Настроить постоянную VPN-сеть?"</string>
@@ -4119,7 +4117,7 @@
     <string name="usb_summary_UVC_power" msgid="226810354412154061">"Режим веб-камеры и зарядка"</string>
     <string name="background_check_pref" msgid="5304564658578987535">"Фоновая проверка"</string>
     <string name="assist_access_context_title" msgid="5201495523514096201">"Использовать текст с экрана"</string>
-    <string name="assist_access_context_summary" msgid="6951814413185646275">"Разрешить просматривать содержимое экрана в виде текста"</string>
+    <string name="assist_access_context_summary" msgid="6951814413185646275">"Разрешить приложению-помощнику доступ к содержимому экрана в виде текста"</string>
     <string name="assist_access_screenshot_title" msgid="4395902231753643633">"Использовать скриншот"</string>
     <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Разрешить приложению-помощнику доступ к изображению экрана"</string>
     <string name="assist_flash_title" msgid="5449512572885550108">"Подсвечивать экран"</string>
@@ -5464,13 +5462,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Поиск по настройкам"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"контакты, хранилище, аккаунт"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Контакты"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Только на устройстве"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Новые контакты не будут синхронизироваться с аккаунтом"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Контакты будут по умолчанию сохраняться на устройстве и синхронизироваться с аккаунтом"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Аккаунт по умолчанию не задан"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Сначала добавьте аккаунт"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Обвести и найти"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Чтобы запустить поиск по экрану, нажмите и удерживайте кнопку главного экрана или маркер навигации"</string>
 </resources>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index 907185d..f2278b7 100644
--- a/res/values-si/arrays.xml
+++ b/res/values-si/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"හිම මල්"</item>
     <item msgid="7952183800501346803">"වෙරළ කුඩය"</item>
     <item msgid="799139025758265891">"වැඩමුළු මෙවලම්"</item>
-    <item msgid="1330084588359129896">"කූඩාරම"</item>
+    <item msgid="8112685757657659269">"පියානෝව"</item>
     <item msgid="3861584909935022342">"සිනමා පටය"</item>
     <item msgid="5827426100157335512">"පොත"</item>
     <item msgid="8585828346253128384">"නෙළුම් මල"</item>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 0ff08b9..7e47d8b 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"ඔබේ ජාලය සහ රැහැන් රහිත සංඥා භාවිතයෙන් ස්වයංක්‍රීයව සකසන්න"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ස්වයංක්‍රීය වේලා කලාපය"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"ඔබ අසල ඇති ජංගම ජාල මත පදනම්ව ස්වයංක්‍රීයව සකසන්න"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"තිබේ නම්, ඔබේ උපාංග ස්ථානය භාවිතයෙන් ස්වයංක්‍රීයව සකසන්න. සක්‍රිය Wifi සම්බන්ධතාවයක් ද අවශ්‍ය විය හැක."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"තිබේ නම්, ඔබේ උපාංග ස්ථානය භාවිතයෙන් ස්වයංක්‍රීයව සකසන්න"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"පෙදෙසි පෙරනිමි භාවිත කරන්න"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"පැය 24 ආකාරය භාවිත කරන්න"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"වේලාව"</string>
@@ -1946,26 +1946,29 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"ප්‍රවේශ්‍යතාව"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"භෞතික යතුරු පුවරුව"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"පනින යතුරු"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"යතුරු පුවරුව එකම යතුර ඉක්මනින් නැවත නැවතත් එබීම නොසලකා හරියි"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"උඩ පනින යතුරු සීමාව"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"ඔබේ යතුරු පුවරුව නැවත නැවතත් යතුරු එබීම නොසලකා හරින කාල සීමාව තෝරා ගන්න"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
     <skip />
     <string name="slow_keys" msgid="2891452895499690837">"මන්දගාමී යතුරු"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"යතුරු එබීම සක්‍රිය වීම සඳහා එයට ගතවන කාලය සකසයි"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ඇලෙන යතුරු"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"කෙටිමං සඳහා යතුරු එකට තබා ගැනීම වෙනුවට වරකට යතුරක් ඔබන්න"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"මූසික යතුරු"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"දර්ශකය පාලනය කිරීමට ඔබේ යතුරු පුවරුව භාවිතා කරන්න"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"මූසික ආපස්සට අනුචලනය"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"පිටුව පහළට ගෙන යාමට ඉහළට අනුචලන කරන්න"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"වම් සහ දකුණු බොත්තම් මාරු කරන්න"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"වම් මූසික බොත්තම ඔබේ දකුණ ලෙස භාවිතා කරන්න"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"යතුරු පුවරු කෙටිමං"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"කෙටිමං ලැයිස්තුව පෙන්වන්න"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"කාර්යාල පැතිකඩ යතුරු පුවරු සහ මෙවලම්"</string>
@@ -2034,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> සඳහා නව යතුරක් තෝරා ගන්න:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"භෞතික යතුරුපුවරු ප්‍රවේශ්‍යතාව"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ඇලෙන යතුරු, පනින යතුරු, මූසික යතුරු"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"පුනරාවර්තන යතුරු"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"පුනරාවර්තනයට පෙර ප්‍රමාදය"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"පුනරාවර්තන අනුපාතය"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"යතුර මුදා හරින තෙක් එහි අනුලකුණ පුනරාවර්තනය කිරීමට යතුරක් ඔබාගෙන සිටින්න"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> පිරිසැලසුම"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"පෙරනිමි"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ස්වයංක්‍රීය: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"පෙරදසුන"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"සාමාන්‍ය විකල්ප"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"භාෂාව"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"සිරස්තල ප්‍රමාණය"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"සිරස්තල මෝස්තරය"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"අභිරුචි විකල්ප"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"පසුබිම් වර්ණය"</string>
@@ -2987,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"මෙම VPN එක විසන්ධි කරන්නද?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"විසන්ධි කරන්න"</string>
     <string name="vpn_version" msgid="6344167191984400976">"අනුවාදය"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"අනුවාදය <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN අමතක කරන්න"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"පවතින VPN ප්‍රතිස්ථාපනය කරන්නද?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"සැම විට ක්‍රියාත්මක VPN සකසන්නද?"</string>
@@ -5462,13 +5465,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"සෙවීමේ සැකසීම්"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"සම්බන්ධතා, ආචයනය, ගිණුම"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"සම්බන්ධතා ආචයනය"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"උපාංගය පමණි"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"නව සම්බන්ධතා ගිණුමක් සමග සමමුහුර්ත නොවනු ඇත"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"සම්බන්ධතා ඔබේ උපාංගයට සුරකිනු ඇති අතර පෙරනිමියෙන් ඔබේ ගිණුමට සමමුහුර්ත කරනු ලැබේ"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"පෙරනිමි සැකසීමක් නැත"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"පටන් ගැනීමට ගිණුමක් එක් කරන්න"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"සෙවීමට කවයසෙවීමට කවය අදින්න"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"ඔබේ තිරයේ ඇති අන්තර්ගතය භාවිතයෙන් සෙවීමට මුල් පිටුව බොත්තම හෝ සංචලන හසුරුව ස්පර්ශ කර අල්ලාගෙන සිටින්න."</string>
 </resources>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index be2683c..35ca54c 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snehová vločka"</item>
     <item msgid="7952183800501346803">"Plážový slnečník"</item>
     <item msgid="799139025758265891">"Nástroje v dielni"</item>
-    <item msgid="1330084588359129896">"Stan"</item>
+    <item msgid="8112685757657659269">"Klavír"</item>
     <item msgid="3861584909935022342">"Filmový pásik"</item>
     <item msgid="5827426100157335512">"Kniha"</item>
     <item msgid="8585828346253128384">"Lotosový kvet"</item>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 443c944..f7483ad 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Nastavujte automaticky pomocou sieťových a bezdrôtových signálov"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatické časové pásmo"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Nastavujte automaticky na základe mobilných sietí v okolí"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Nastavujte automaticky pomocou polohy zariadenia, ak je k dispozícii. Môže sa vyžadovať aj aktívne pripojenie Wi‑Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Nastavujte automaticky pomocou polohy zariadenia, ak je k dispozícii"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Používať miestny predvolený formát"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Používať 24-hodinový formát"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Čas"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Dostupnosť"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fyzická klávesnica"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Klávesy jedného stlačenia"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Klávesnica ignoruje rýchle opakované stlačenia rovnakého klávesa"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Prah opakovaného stlačenia"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Vyberte, ako dlho má klávesnica ignorovať opakované stláčanie klávesov"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Vlastné"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"vlastná hodnota"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Pomalé klávesy"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Upravuje čas aktivácie po stlačení klávesa"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Režim uzamknutia klávesa"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Používať skratky stlačením jedného klávesa namiesto viacerých"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Klávesy myši"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Ovládajte kurzor pomocou klávesnice"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Obrátené posúvanie myšou"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Prechádzajte po stránke nadol posúvaním myši nahor"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Vymeniť ľavé a pravé tlačidlo"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Používajte ľavé tlačidlo myši ako pravé"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klávesové skratky"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Zobraziť zoznam skratiek"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Klávesnice a nástroje pracovného profilu"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Vyberte pre <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> nový kláves:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Dostupnosť fyzickej klávesnice"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Režim uzamknutia klávesa, klávesy jedného stlačenia, klávesy myši"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Opakovať klávesy"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Oneskorenie pred opakovaním"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Miera opakovaní"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Pri podržaní klávesa sa bude znak opakovane zadávať, dokým ho neuvoľníte"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Rozloženie <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Predvolené"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automaticky: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Ukážka"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Štandardné možnosti"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Jazyk"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Veľkosť titulkov"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Štýl titulkov"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Vlastné možnosti"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Farba pozadia"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Odpojiť tento profil VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Odpojiť"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Verzia"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Verzia <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Zabudnúť profil VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Nahradiť existujúcu sieť VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Nastaviť sieť VPN, ktorá je vždy zapnutá?"</string>
@@ -5464,13 +5462,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Vyhľadávať v nastaveniach"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontakty, priestor, účet"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Úložisko kontaktov"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Len senzory zariadenia"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nové kontakty sa s účtom nebudú synchronizovať"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakty sa budú predvolene ukladať do zariadenia a synchronizovať s účtom"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nie je nastavená žiadna predvolená hodnota"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Začnite pridaním účtu"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Vyhľadávanie krúžením"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Ak chcete vyhľadávať pomocou obsahu na obrazovke, pridržte tlačidlo plochy alebo navigačnú rukoväť."</string>
 </resources>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index c368aef..b4438f6 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snežinka"</item>
     <item msgid="7952183800501346803">"Senčnik"</item>
     <item msgid="799139025758265891">"Orodja v delavnici"</item>
-    <item msgid="1330084588359129896">"Šotor"</item>
+    <item msgid="8112685757657659269">"Klavir"</item>
     <item msgid="3861584909935022342">"Filmski trak"</item>
     <item msgid="5827426100157335512">"Knjiga"</item>
     <item msgid="8585828346253128384">"Lotosov cvet"</item>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index f56f457..aa6b2dd 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Samodejna nastavitev na podlagi omrežja in brezžičnih signalov"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Samodejni časovni pas"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Samodejna nastavitev na podlagi mobilnih omrežij v bližini"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Samodejna nastavitev na podlagi lokacije naprave, če je na voljo. Morda bo potrebna tudi aktivna povezava Wi-Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Samodejna nastavitev na podlagi lokacije naprave, če je na voljo"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Uporabi privzete območne nastavitve"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Uporabi 24-urni zapis časa"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Ura"</string>
@@ -1947,17 +1947,23 @@
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fizična tipkovnica"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Zaznava večkratnih pritiskov tipk"</string>
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Tipkovnica prezre hitro ponovljene pritiske iste tipke"</string>
-    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Prag za prezrtje hitrih zaporednih pritiskov tipk"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Prag za prezrtje pritiskov tipk"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Izberite, kako dolgo tipkovnica prezre ponovljene pritiske tipk"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Po meri"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"vrednost po meri"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Daljši pritisk tipk"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Prilagoditev časa, potrebnega za aktiviranje pritiska tipke"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Zaklepanje tipk"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Za bližnjice pritisnite eno tipko hkrati namesto več tipk hkrati"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Tipke za miško"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Upravljanje kazalke s tipkovnico"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Obratno pomikanje z miško"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Pomaknite se navzgor, če želite premakniti stran navzdol"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Zamenjava levega in desnega gumba"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Uporabljajte levi gumb na miški kot desnega"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Bližnjične tipke"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Prikaz seznama bližnjic"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tipkovnice in orodja delovnega profila"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Izberite novo tipko za »<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>«:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Dostopnost fizične tipkovnice"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Zaklepanje tipk, zaznava večkratnih pritiskov tipk, tipke za miško"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Ponavljanje vnosa s tipko"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Zakasnitev pred ponovitvijo"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Hitrost ponavljanja"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Pridržite poljubno tipko, da se njen znak ponavlja, dokler je ne spustite"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Postavitev <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Privzeto"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Samodejno: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Predogled"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardne možnosti"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Jezik"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Velikost podnapisov"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Slog podnapisov"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Možnosti po meri"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Barva ozadja"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Prekinitev povezave s tem omrežjem VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Prekini povezavo"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Različica"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Različica <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Pozabi omrežje VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Želite zamenjati obstoječe omrežje VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Ali želite, da je omrežje VPN stalno vklopljeno?"</string>
@@ -5459,6 +5465,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Samo v napravi"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Novi stiki ne bodo sinhronizirani z računom"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Stiki bodo privzeto shranjeni v napravi in sinhronizirani z računom"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nastavljen ni noben privzeti račun"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Za začetek dodajte račun"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Iskanje z obkroževanjem"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Za iskanje po vsebini zaslona pridržite gumb za začetni zaslon ali ročico za pomikanje."</string>
 </resources>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index 2450b85..14009c5 100644
--- a/res/values-sq/arrays.xml
+++ b/res/values-sq/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Flok dëbore"</item>
     <item msgid="7952183800501346803">"Çadër plazhi"</item>
     <item msgid="799139025758265891">"Vegla punishteje"</item>
-    <item msgid="1330084588359129896">"Tendë"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Bobina e filmit"</item>
     <item msgid="5827426100157335512">"Libër"</item>
     <item msgid="8585828346253128384">"Zambak uji"</item>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index f736eb1..6a99726 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Cakto automatikisht duke përdorur sinjalet e rrjetit dhe ato wireless"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Brezi orar automatik"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Cakto automatikisht bazuar në rrjetet celulare pranë teje"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Cakto automatikisht duke përdorur vendndodhjen e pajisjes sate, nëse ofrohet. Mund të kërkohet gjithashtu një lidhje aktive Wifi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Cakto automatikisht duke përdorur vendndodhjen e pajisjes sate, nëse ofrohet"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Përdor parazgjedhjen e lokalitetit"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Përdor formatin 24-orësh"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Ora"</string>
@@ -659,12 +659,9 @@
     <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Cakto motiv për hapësirën private"</string>
     <string name="private_space_category_lock" msgid="1917657024358778169">"Kyç"</string>
     <string name="private_space_category_hide" msgid="3236587591523126649">"Fshih"</string>
-    <!-- no translation found for private_space_confirm_your_pattern_header (449382220134788771) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_pin_header (4543332157470087796) -->
-    <skip />
-    <!-- no translation found for private_space_confirm_your_password_header (9202308075814307169) -->
-    <skip />
+    <string name="private_space_confirm_your_pattern_header" msgid="449382220134788771">"Konfirmo motivin e hapësirës sate private"</string>
+    <string name="private_space_confirm_your_pin_header" msgid="4543332157470087796">"Fut përsëri kodin PIN të hapësirës sate private"</string>
+    <string name="private_space_confirm_your_password_header" msgid="9202308075814307169">"Fut përsëri fjalëkalimin e hapësirës sate private"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Mund të shtosh deri në <xliff:g id="COUNT">%d</xliff:g> gjurmë gishtash"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Ke shtuar numrin maksimal të gjurmëve të gishtave"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nuk mund të shtohen gjurmë të tjera të gishtave"</string>
@@ -1032,10 +1029,8 @@
     <string name="wifi_dpp_failure_enrollee_authentication" msgid="7008840843663520852">"Kontrollo fjalëkalimin dhe provo përsëri"</string>
     <string name="wifi_dpp_failure_enrollee_rejected_configuration" msgid="982310033782652478">"Kontakto me prodhuesin e pajisjes"</string>
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Kontrollo lidhjen dhe provo përsëri"</string>
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_ssid (3608318690698685427) -->
-    <skip />
-    <!-- no translation found for wifi_dpp_check_connection_no_matched_security (1462706753123341376) -->
-    <skip />
+    <string name="wifi_dpp_check_connection_no_matched_ssid" msgid="3608318690698685427">"Ky rrjet Wi‑Fi nuk ofrohet për momentin"</string>
+    <string name="wifi_dpp_check_connection_no_matched_security" msgid="1462706753123341376">"Ka një problem me këtë kod QR. Provo të lidhesh në një mënyrë tjetër."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Zgjidh rrjetin"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Për të lidhur pajisjen, zgjidh një rrjet"</string>
     <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"Të shtohet kjo pajisje te “<xliff:g id="SSID">%1$s</xliff:g>”?"</string>
@@ -1951,26 +1946,29 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Qasshmëria"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Tastiera fizike"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Tastet e përsëritura"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Tastiera i shpërfill shtypjet e shpejta të përsëritura të të njëjtit tast"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Pragu për tastet e përsëritura"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Zgjidh kohëzgjatjen e shpërfilljes së shtypjeve të përsëritura të tasteve nga tastiera jote"</string>
+    <!-- no translation found for input_setting_keys_dialog_option_200 (3121006986226247560) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
+    <!-- no translation found for input_setting_keys_dialog_option_400 (2634500629396699440) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
+    <!-- no translation found for input_setting_keys_dialog_option_600 (3828362866751805146) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
+    <!-- no translation found for input_setting_keys_custom_title (670425691119253202) -->
     <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
+    <!-- no translation found for input_setting_keys_custom_value (4455905650507193648) -->
     <skip />
     <string name="slow_keys" msgid="2891452895499690837">"Tastet e ngadalta"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Rregullon kohën që duhet për aktivizimin e një shtypjeje tasti"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Tastet e përhershme"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Shtyp vetëm një tast në një moment për shkurtoret në vend që t\'i mbash shtypur bashkë tastet"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Butonat e miut"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Përdor tastierën për të kontrolluar treguesin"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Lëvizja e miut në të kundërt"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Lëviz lart për ta zhvendosur faqen poshtë"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Ndërro butonin e majtë dhe të djathtë"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Përdor butonin e majtë të miut si buton të djathtë"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Shkurtoret e tastierës"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Shfaq listën e shkurtoreve"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tastierat dhe veglat e profilit të punës"</string>
@@ -2039,10 +2037,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Zgjidh një çelës të ri për <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Qasshmëria për tastierën fizike"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Tastet e përhershme, tastet e përsëritura, tastet e miut"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Përsërit tastet"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Vonesa përpara përsëritjes"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Shpejtësia e përsëritjes"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Mbaj shtypur një tast për të përsëritur karakterin e tij derisa të lëshohet tasti"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Struktura e <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"E parazgjedhur"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2447,8 +2445,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Shikim paraprak"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Opsionet standarde"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Gjuha"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Madhësia e titrave"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Stili i titrave"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Personalizo opsionet"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Ngjyra e sfondit"</string>
@@ -2992,6 +2989,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Shkëpute këtë rrjet VPN"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Shkëpute"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versioni"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versioni <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Harroje rrjetin VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Të zëvendësohet rrjeti ekzistues VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Të caktohet rrjeti VPN gjithmonë aktiv?"</string>
@@ -3924,8 +3922,7 @@
     <string name="zen_mode_new_custom_title" msgid="7513785385574267851">"Krijo një modalitet"</string>
     <string name="zen_mode_new_custom_default_name" msgid="2778307946775085105">"Modaliteti i personalizuar"</string>
     <string name="zen_mode_edit_name_hint" msgid="4584652062167540536">"Emri i modalitetit"</string>
-    <!-- no translation found for zen_mode_edit_name_empty_error (5788063278827188275) -->
-    <skip />
+    <string name="zen_mode_edit_name_empty_error" msgid="5788063278827188275">"Emri i modalitetit nuk mund të jetë bosh"</string>
     <string name="zen_mode_edit_choose_icon_title" msgid="6452801577128788362">"Zgjidh një ikonë"</string>
     <string name="zen_mode_trigger_title_schedule_calendar" msgid="9206609438617550331">"Ngjarjet e kalendarit"</string>
     <string name="zen_mode_trigger_title_bedtime" msgid="3287241454965736913">"Rutina e orarit të gjumit"</string>
@@ -5468,13 +5465,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Kërko te cilësimet"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontaktet, ruajtja, llogaria"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Ruajtja e kontakteve"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Vetëm pajisja"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Kontaktet e reja nuk do të sinkronizohen me një llogari"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontaktet do të ruhen në pajisjen tënde dhe do të sinkronizohen në llogarinë tënde si parazgjedhje"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Nuk është caktuar asnjë e parazgjedhur"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Shto një llogari për të filluar"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Qarko për të kërkuar"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Prek dhe mbaj shtypur butonin \"Kreu\" ose emërtimin e navigimit për të kërkuar duke përdorur përmbajtjen në ekranin tënd."</string>
 </resources>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index 2484fbf..c629fee 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Пахуља"</item>
     <item msgid="7952183800501346803">"Сунцобран"</item>
     <item msgid="799139025758265891">"Алат из радионице"</item>
-    <item msgid="1330084588359129896">"Шатор"</item>
+    <item msgid="8112685757657659269">"Клавир"</item>
     <item msgid="3861584909935022342">"Ролна филма"</item>
     <item msgid="5827426100157335512">"Књига"</item>
     <item msgid="8585828346253128384">"Цвет лотоса"</item>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 63bda44..a87dcec 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Аутоматско подешавање помоћу мреже и бежичних сигнала"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Аутоматска временска зона"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Аутоматско подешавање на основу мобилних мрежа у близини"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Аутоматско подешавање помоћу локације уређаја, ако је доступна. Можда је потребна и активна WiFi веза."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Аутоматско подешавање помоћу локације уређаја, ако је доступна"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Користи подразумевану вредност за локалитет"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Користи 24-часовни формат"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Време"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Тастатура занемарује брзе притиске истог тастера који се понављају"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Праг за дужи одзив тастера"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Одаберите колико дуго тастатура занемарује понављане притиске тастера"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 сек"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 сек"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 сек"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 сек"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 сек"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 сек"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Прилагођено"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"прилагођена вредност"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Спори тастери"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Прилагодите време за активирање тастера после притиска"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Лепљиви тастери"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Притискајте један по један тастер да бисте користили пречице уместо да истовремено држите тастере"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Тастери миша"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Контролишите показивач помоћу тастатуре"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Обрнуто скроловање мишем"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Скролујте нагоре да бисте померили страницу надоле"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Замените дугмад налево и надесно"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Користите леви тастер миша као десни"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Тастерске пречице"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Приказује листу пречица"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Тастатуре и алатке за пословни профил"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Одаберите нови тастер за <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Приступачност физичке тастатуре"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Лепљиви тастери, дужи одзив тастера, тастери миша"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Понављање тастера"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Одлагање пре понављања"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Брзина понављања"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Притисните и задржите тастер да бисте понављали унос знака све док не пустите тастер"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Распоред <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Подразумевано"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Аутоматски: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Преглед"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Стандардне опције"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Језик"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Величина титла"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Стил титла"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Прилагођене опције"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Боја позадине"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Желите ли да прекинете везу са овим VPN-ом?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Прекини везу"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Верзија"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Верзија <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Заборави VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Желите ли да замените постојећи VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Желите ли да подесите увек укључени VPN?"</string>
@@ -5458,6 +5464,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Само уређај"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Нови контакти се неће синхронизовати са налогом"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Контакти се подразумевано чувају на уређају и синхронизују са налогом"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Није подешен подразумевани налог"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Додајте налог да бисте започели"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Претрага заокруживањем"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Додирните и задржите дугме Почетак или маркер за кретање да бисте претраживали помоћу садржаја на екрану."</string>
 </resources>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index 84665cb..48b1fa6 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snöflinga"</item>
     <item msgid="7952183800501346803">"Strandparasoll"</item>
     <item msgid="799139025758265891">"Verktyg"</item>
-    <item msgid="1330084588359129896">"Tält"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Filmrulle"</item>
     <item msgid="5827426100157335512">"Bok"</item>
     <item msgid="8585828346253128384">"Lotusblomma"</item>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 811bed8..cf8da59 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Ställ in automatiskt med nätverk och trådlösa signaler"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Automatisk tidszon"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Ställ in automatiskt utifrån mobilnätverk i närheten"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Ställ in automatiskt med enhetens plats, om tillgängligt. En aktiv wifi-anslutning kan också krävas."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Ställ in automatiskt med enhetens plats, om tillgängligt"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Använd lokal standard"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Använd 24-timmarsformat"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Tid"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Tangentbordet ignorerar snabbt upprepade tryck på samma tangent"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Gräns för studsande tangent"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Välj hur länge tangentbordet ska ignorera upprepade tangenttryckningar"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0,2 s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0,4 s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0,6 s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Anpassat"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"anpassat värde"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Långsamma tangenter"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"Justerar tiden det tar innan ett tryck på en tangent aktiveras"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Låstangentsläge"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tryck ned en tangent i taget för kortkommandon i stället för att hålla ned flera tangenter samtidigt"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Musknappar"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Använd tangentbordet för att styra pekaren"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Omvänd scrollning på musen"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Scrolla uppåt för att flytta sidan nedåt"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Byt plats på vänster och höger knapp"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Använd vänster musknapp som höger"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Kortkommandon"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Visa en lista över genvägar"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Tangentbord och verktyg för jobbprofilen"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Välj en ny tangent för <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Tillgänglighet för fysiskt tangentbord"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Låstangentsläge, studsande tangenter, musknappar"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Upprepa tangenter"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Fördröjning före upprepning"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Upprepningsfrekvens"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Håll ned en tangent för att upprepa tecknet tills du släpper tangenten"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Layouten <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standard"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Automatiskt: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Förhandsgranskning"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standardalternativ"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Språk"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Teckenstorlek för textning"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Textstil"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Anpassade alternativ"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Bakgrundsfärg"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Vill du koppla från VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Koppla från"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Version"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Version <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Glöm VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Vill du byta ut befintligt VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Vill du ställa in Alltid på-VPN?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Endast enheten"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Nya kontakter synkroniseras inte med ett konto"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kontakter sparas på enheten och synkroniseras med kontot som standard"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Ingen standardinställning har angetts"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Lägg till ett konto för att komma igång"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Tryck länge på hemknappen eller navigeringshandtaget för att söka med innehållet på skärmen."</string>
 </resources>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index 94e3abc..ee7cb1e 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Kipande kidogo sana cha theluji"</item>
     <item msgid="7952183800501346803">"Mwamvuli wa ufukweni"</item>
     <item msgid="799139025758265891">"Zana za karakana"</item>
-    <item msgid="1330084588359129896">"Hema"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Ukanda wa filamu"</item>
     <item msgid="5827426100157335512">"Kitabu"</item>
     <item msgid="8585828346253128384">"Ua la yungiyungi"</item>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 16042ee..d381dab 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Weka mipangilio otomatiki ukitumia mtandao wako na mawimbi ya simu za mkononi"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Mipangilio otomatiki ya saa za eneo"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Weka mipangilio otomatiki kulingana na mitandao ya simu iliyo karibu nawe"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Weka mipangilio otomatiki ukitumia data ya mahali kilipo kifaa chako, ikiwa inapatikana. Huenda pia ukahitaji muunganisho wa Wi-Fi unaotumika."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Weka mipangilio kiotomatiki ukitumia data ya mahali kilipo kifaa chako, ikiwa inapatikana"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Tumia chaguomsingi la eneo"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Tumia mpangilio wa saa 24"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Saa"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Ufikivu"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Kibodi halisi"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Vitufe vinavyoduta"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Kibodi hupuuza vitendo vya kurudia kubonyeza kitufe kimoja haraka mara nyingi"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Upeo wa mibofyo inayopuuzwa"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Chagua kipindi cha muda ambao kibodi yako itapuuza vitendo vya kurudia kubonyeza kitufe kimoja"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"sek 0.2"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"sek 0.4"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"sek 0.6"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Maalum"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"thamani maalum"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Vitufe vya polepole"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Hurekebisha muda unaochukua kitendo cha kubonyeza kitufe kuwasha"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Vitufe vinavyonata"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Bonyeza kitufe kimoja baada ya kingine ili upate njia za mkato badala ya kubonyeza na kushikilia vitufe kwa pamoja"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Vitufe vya kipanya"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Tumia kibodi yako kudhibiti kielekezi"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Kubadilisha mwelekeo wa kipanya"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Sogeza juu ili usogeze ukurasa chini"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Kubadilisha utendaji wa vitufe vya kulia na kushoto"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Tumia kitufe cha kushoto cha kipanya kutekeleza majukumu ya kitufe cha kulia"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Mikato ya kibodi"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Onyesha orodha ya njia za mkato"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Zana na kibodi za wasifu wa kazini"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Chagua kitufe kipya cha kurekebisha cha <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Zana za ufikivu kwenye kibodi halisi"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Vitufe vinavyonata, Vitufe vinavyodunda, Vitufe vya kipanya"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Vitufe vya Kurudia Herufi"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Kawia kabla ya kurudia"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Kasi ya Kurudia Herufi"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Bonyeza na ushikilie kitufe ili herufi ijirudie hadi utakapoachilia kitufe hicho"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Muundo wa <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Chaguomsingi"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Otomatiki: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Chungulia kwanza"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Chaguo za kawaida"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Lugha"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Ukubwa wa manukuu"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Mtindo wa manukuu"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Chaguo maalum"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Rangi ya mandharinyuma"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Ungependa kuondoa VPN hii?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Kata muungnisho"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Toleo"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Toleo la <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Ondoa VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Ungependa kubadilisha VPN iliyopo?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Ungependa kuweka VPN iliyowashwa kila mara?"</string>
@@ -3712,7 +3710,7 @@
     <string name="notification_polite_main_control_title" msgid="5812529809151927149">"Tumia mipangilio ya kutuliza arifa"</string>
     <string name="notification_polite_description" msgid="5497748284893832854">"Unapopokea arifa nyingi ndani ya muda mfupi, kifaa chako kitapunguza sauti na arifa kwa hadi dakika 2. Hali hii haitaathiri simu, kengele na mazungumzo ya kipaumbele. \n\nUnaweza kupata arifa ulizopokea wakati wa kutulizwa kwa arifa kwa kutelezesha kidole chini kutoka sehemu ya juu ya skrini."</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"Tumia kwenye wasifu wa kazini"</string>
-    <string name="notification_polite_work_summary" msgid="5014189280132951378">"Inatumika kwa programu zenye wasifu wa kazini"</string>
+    <string name="notification_polite_work_summary" msgid="5014189280132951378">"Tumia kwenye programu za wasifu wa kazini"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Huduma za kisaidizi cha Uhalisia Pepe"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Hakuna programu zilizosakinishwa ambazo zinaweza kutekeleza huduma za kisaidizi cha Uhalisia Pepe."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Ungependa kuruhusu huduma za Uhalisia Pepe katika <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Mipangilio ya Utafutaji"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"anwani, nafasi ya hifadhi, akaunti"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Nafasi ya kuhifadhi ya anwani"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Kifaa tu"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Anwani mpya hazitasawazishwa kwenye akaunti"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Anwani zitahifadhiwa kwenye kifaa chako na kusawazishwa kwenye akaunti yako kwa chaguomsingi"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Hujaweka akaunti chaguomsingi"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Weka akaunti ili uanze"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Chora Mviringo ili Kutafuta"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Gusa na ushikilie Kitufe cha ukurasa wa mwanzo au ncha ya kusogezea ili utafute ukitumia maudhui yaliyo kwenye skrini yako."</string>
 </resources>
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
index ae9eb40..e04eb88 100644
--- a/res/values-ta/arrays.xml
+++ b/res/values-ta/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"பனித்துகள்"</item>
     <item msgid="7952183800501346803">"கடற்கரைக் குடை"</item>
     <item msgid="799139025758265891">"பணிமனைக் கருவிகள்"</item>
-    <item msgid="1330084588359129896">"கூடாரம்"</item>
+    <item msgid="8112685757657659269">"பியானோ"</item>
     <item msgid="3861584909935022342">"திரைப்பட ரீல்"</item>
     <item msgid="5827426100157335512">"புத்தகம்"</item>
     <item msgid="8585828346253128384">"தாமரைப் பூ"</item>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 8de8680..c7e5e14 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"உங்கள் நெட்வொர்க்கையும் வயர்லெஸ் சிக்னல்களையும் பயன்படுத்தி தானாகவே அமைக்கும்"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"நேர மண்டலத்தைத் தானாகவே கண்டறிதல்"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"உங்களுக்கு அருகிலுள்ள மொபைல் நெட்வொர்க்குகளின் அடிப்படையில் தானாகவே அமைக்கும்"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"கிடைத்தால், சாதன இருப்பிடம் மூலம் தானாகவே அமைக்கும். செயலிலுள்ள வைஃபை இணைப்பும் தேவைப்படலாம்."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"உங்கள் சாதன இருப்பிடம் கிடைத்தால், அதைப் பயன்படுத்தி தானாகவே அமைக்கும்"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"உள்ளூர் நேர வடிவத்தைப் பயன்படுத்து"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-மணிநேர வடிவமைப்பு"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"நேரம்"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"ஒரே பட்டனைத் தொடர்ச்சியாக அழுத்துவதைக் கீபோர்டு விரைவாகப் புறக்கணிக்கிறது"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"பவுன்ஸ் பட்டன் வரம்பு"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"தொடர்ச்சியாகப் பட்டன் அழுத்தப்படுவதைக் கீபோர்டு புறக்கணிப்பதற்கான கால அளவைத் தேர்வுசெய்யுங்கள்"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2 வினாடி"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4 வினாடி"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6 வினாடி"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 வினாடி"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 வினாடி"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 வினாடி"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"பிரத்தியேகம்"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"பிரத்தியேகமான மதிப்பு"</string>
     <string name="slow_keys" msgid="2891452895499690837">"ஸ்லோ கீஸ்"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"ஒரு பட்டனை அழுத்துவதற்கு எடுக்கும் நேரத்தை மாற்றலாம்"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"ஸ்டிக்கி கீஸ்"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"ஷார்ட்கட்களுக்கு பட்டன்களை ஒன்றாகப் பிடிப்பதற்குப் பதிலாக ஒரு நேரத்தில் ஒரு பட்டனை அழுத்தலாம்"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"மவுஸ் பட்டன்கள்"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"பாயிண்ட்டரைக் கட்டுப்படுத்த உங்கள் கீபோர்டைப் பயன்படுத்தலாம்"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"மவுஸ் ரிவர்ஸ் ஸ்க்ரோலிங்"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"பக்கத்தை மேலிருந்து கீழே நகர்த்த மவுஸை முன்னோக்கி ஸ்க்ரோல் செய்யலாம்"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"இடதுபுற மற்றும் வலதுபுற பட்டன்களை மாற்றுதல்"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"இடதுபுற மவுஸ் பட்டனை வலதுபுற பட்டனாகப் பயன்படுத்தலாம்"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"கீபோர்டு ஷார்ட்கட்கள்"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"ஷார்ட்கட்களின் பட்டியலைக் காட்டும்"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"பணிக் கணக்கிற்கான கீபோர்டுகள் &amp; கருவிகள்"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>க்கு புதிய விசையை தேர்வுசெய்யலாம்:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"கீபோர்டுக்கான மாற்றுத்திறன் வசதி"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"ஸ்டிக்கி கீஸ், பவுன்ஸ் கீஸ், மவுஸ் கீஸ்"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"ரிப்பீட் பட்டன்கள்"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"தொடர்ச்சியான எழுத்துகளுக்கு இடையிலான நேர இடைவெளி"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"ரிப்பீட் விகிதம்"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"ஒரு பட்டனை அழுத்திப் பிடித்திருந்து அதை விடுவிக்கும்வரை அதிலுள்ள எழுத்து தொடர்ச்சியாக டைப் செய்யப்படும்"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> தளவமைப்பு"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"இயல்பு"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"தானியங்கு: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"முன்னோட்டம்"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"நிலையான விருப்பங்கள்"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"மொழி"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"வ்சன எழுத்து வடிவ அளவு"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"வசனத்தின் நடை"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"பிரத்தியேக விருப்பங்கள்"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"பின்புல வண்ணம்"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"VPNஐத் துண்டிக்கவா?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"தொடர்பைத் துண்டி"</string>
     <string name="vpn_version" msgid="6344167191984400976">"பதிப்பு"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"பதிப்பு <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPNஐ நீக்கு"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"தற்போதுள்ள VPNஐ மாற்றியமைக்கவா?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"எப்போதும் இயங்கும் VPNஐ அமைக்கவா?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"சாதனம் மட்டும்"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"புதிய தொடர்புகளை ஒரு கணக்குடன் ஒத்திசைக்க முடியாது"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"இயல்பாகவே தொடர்புகள் உங்கள் சாதனத்தில் சேமிக்கப்படும், உங்கள் கணக்குடன் ஒத்திசைக்கப்படும்"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"இயல்புநிலையாக எதுவும் அமைக்கப்படவில்லை"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"தொடங்குவதற்கு ஒரு கணக்கைச் சேருங்கள்"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"வட்டமிட்டுத் தேடல்"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"முகப்பு பட்டனைத் தொட்டுப் பிடித்திருக்கவும் அல்லது திரையில் உள்ள உள்ளடக்கத்தைப் பயன்படுத்தித் தேடுவதற்கு ஹேண்டிலுக்குச் செல்லவும்."</string>
 </resources>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 6bc7266..55b418e 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"స్నోఫ్లేక్"</item>
     <item msgid="7952183800501346803">"బీచ్ గొడుగు"</item>
     <item msgid="799139025758265891">"వర్క్‌షాప్ టూల్స్"</item>
-    <item msgid="1330084588359129896">"టెంట్"</item>
+    <item msgid="8112685757657659269">"పియానో"</item>
     <item msgid="3861584909935022342">"ఫిల్మ్ రీల్"</item>
     <item msgid="5827426100157335512">"పుస్తకం"</item>
     <item msgid="8585828346253128384">"తామర పువ్వు"</item>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 83a4e86..86b198c 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"మీ నెట్‌వర్క్, వైర్‌లెస్ సిగ్నల్స్‌ను ఉపయోగించి ఆటోమేటిక్‌గా సెట్ చేయండి"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"ఆటోమేటిక్ టైమ్ జోన్"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"మీకు దగ్గరలో ఉన్న మొబైల్ నెట్‌వర్క్‌ల ఆధారంగా ఆటోమేటిక్‌గా సెట్ చేయబడింది"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"అందుబాటులో ఉంటే, మీ పరికర లొకేషన్‌తో ఆటోమేటిక్‌గా సెట్ చేయండి. యాక్టివ్ Wi-Fi కనెక్షన్ కూడా అవసరం."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"అందుబాటులో ఉంటే, మీ పరికర లొకేషన్‌తో ఆటోమేటిక్‌గా సెట్ చేయండి"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ఈ భాష‌లో వాడే ఫార్మాట్‌ను ఆటోమేటిక్‌ సెట్టింగ్‌గా ఉప‌యోగించండి"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-గంటల ఫార్మాట్‌ను ఉప‌యోగించండి"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"సమయం"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"ఏదైనా ఒక కీని వేగంగా మళ్లీ మళ్లీ నొక్కుతుంటే, కీబోర్డ్ దాన్ని విస్మరిస్తుంది"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"బౌన్స్ కీ పరిమితి"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"ఏదైనా ఒక కీని మళ్లీ మళ్లీ నొక్కుతుంటే మీ కీబోర్డ్ దాన్ని ఎంత సమయం పాటు విస్మరించాలో ఎంచుకోండి"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2 సెకన్లు"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4 సెకన్లు"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6 సెకన్లు"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 సెకన్లు"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 సెకన్లు"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 సెకన్లు"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"అనుకూలంగా మార్చుకోండి"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"అనుకూల విలువ"</string>
     <string name="slow_keys" msgid="2891452895499690837">"నిదానంగా పనిచేసే కీలు"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"ఒక కీని నొక్కితే, అది యాక్టివేట్ అయ్యేందుకు పట్టే సమయాన్ని సర్దుబాటు చేస్తుంది"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"స్టిక్కీ కీలు"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"షార్ట్‌కట్‌ల కోసం కీలను కలిపి హోల్డ్ చేయడానికి బదులు ఒకసారి ఒక కీని నొక్కండి"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"మౌస్ కీలు"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"మీ కీబోర్డ్‌ను ఉపయోగించి పాయింటర్‌ను కంట్రోల్ చేయండి"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"మౌస్ రివర్స్ స్క్రోలింగ్"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"పేజీని కిందికి కదిలించడానికి పైకి స్క్రోల్ చేయండి"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"ఎడమ, కుడి బటన్‌లను మార్చండి"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"ఎడమ మౌస్ బటన్‌ను, కుడి బటన్‌గా ఉపయోగించండి"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"కీబోర్డ్ షార్ట్‌కట్‌లు"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"షార్ట్‌కట్‌ల లిస్ట్‌ను చూడండి"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"కార్యాలయ ప్రొఫైల్ కీబోర్డ్‌లు &amp; సాధనాలు"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> కొసం కొత్త కీని ఎంచుకోండి:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"ఫిజికల్ కీబోర్డ్ యాక్సెసిబిలిటీ"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"స్టిక్కీ కీలు, బౌన్స్ కీలు, మౌస్ కీలు"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"కీలను రిపీట్ చేయండి"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"రిపీట్ చేయడానికి ముందు జరిగిన ఆలస్యం"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"రిపీట్ రేటు"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"కీని వదిలేంత వరకు దాని క్యారెక్టర్‌ను రిపీట్ చేయడానికి ఆ కీని నొక్కి పట్టుకోండి"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> లేఅవుట్"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ఆటోమేటిక్"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"ఆటోమేటిక్: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"ప్రివ్యూ"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"స్టాండర్డ్ ఆప్షన్‌లు"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"భాష"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"క్యాప్షన్ సైజ్"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"క్యాప్షన్ స్టయిల్"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"అనుకూల ఎంపికలు"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"నేపథ్య రంగు"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"ఈ VPNను డిస్‌కనెక్ట్ చేయాలా?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"డిస్‌కనెక్ట్ చేయండి"</string>
     <string name="vpn_version" msgid="6344167191984400976">"వెర్షన్"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"వెర్షన్ <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPNని విస్మరించు"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"ఇప్పటికే ఉన్న VPNని భర్తీ చేయాలా?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"ఎల్లప్పుడూ ఆన్‌లో ఉండే VPNని సెట్ చేయాలా?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"పరికరం మాత్రమే"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"కొత్త కాంటాక్ట్‌లు ఖాతాతో సింక్ అవ్వవు"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"కాంటాక్ట్‌లు మీ పరికరంలో సేవ్ అయ్యి, ఆటోమేటిక్‌గా మీ ఖాతాకు సింక్ అవుతాయి"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"ఆటోమేటిక్ సెట్టింగ్ సెట్ చేయబడలేదు"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"ప్రారంభించడానికి ఒక ఖాతాను జోడించండి"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"సెర్చ్ చేయడానికి సర్కిల్ గీయండి"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"మీ స్క్రీన్‌పై ఉన్న కంటెంట్‌ను ఉపయోగించి సెర్చ్ చేయడానికి హోమ్ బటన్ లేదా నావిగేషన్ హ్యాండిల్‌ను నొక్కి, పట్టుకోండి."</string>
 </resources>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index 3d5a22f..665a87a 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"เกล็ดหิมะ"</item>
     <item msgid="7952183800501346803">"ร่มชายหาด"</item>
     <item msgid="799139025758265891">"เครื่องมือเวิร์กช็อป"</item>
-    <item msgid="1330084588359129896">"เต็นท์"</item>
+    <item msgid="8112685757657659269">"เปียโน"</item>
     <item msgid="3861584909935022342">"ม้วนฟิล์ม"</item>
     <item msgid="5827426100157335512">"หนังสือ"</item>
     <item msgid="8585828346253128384">"ดอกบัว"</item>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index ec628f8..e468897 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"ตั้งค่าอัตโนมัติโดยใช้เครือข่ายและสัญญาณไร้สาย"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"เขตเวลาอัตโนมัติ"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"ตั้งค่าโดยอัตโนมัติตามเครือข่ายมือถือที่อยู่ใกล้คุณ"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"ตั้งค่าโดยอัตโนมัติโดยใช้ตำแหน่งของอุปกรณ์ หากมี และอาจต้องเชื่อมต่อ Wi-Fi อยู่"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"ตั้งค่าโดยอัตโนมัติโดยใช้ตำแหน่งของอุปกรณ์ หากมี"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"ใช้รูปแบบเริ่มต้นในท้องถิ่น"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"ใช้รูปแบบ 24 ชั่วโมง"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"เวลา"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"การช่วยเหลือพิเศษ"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"แป้นพิมพ์จริง"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"คีย์ตีกลับ"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"แป้นพิมพ์จะละเว้นการกดปุ่มเดียวกันซ้ำๆ อย่างรวดเร็ว"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"เกณฑ์คีย์ตีกลับ"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"เลือกระยะเวลาที่แป้นพิมพ์จะละเว้นการกดปุ่มซ้ำ"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 วินาที"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 วินาที"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 วินาที"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"กำหนดเอง"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"ค่าที่กำหนดเอง"</string>
     <string name="slow_keys" msgid="2891452895499690837">"เพิ่มระยะเวลาในการกดปุ่ม"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"ปรับเวลาที่ใช้ในการกดปุ่มเพื่อเปิดใช้งาน"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"คีย์ติดหนึบ"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"กดทีละปุ่มเพื่อใช้แป้นพิมพ์ลัดแทนการกดปุ่มค้างไว้พร้อมกัน"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"แป้นเมาส์"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"ใช้แป้นพิมพ์เพื่อควบคุมตัวชี้"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"การเลื่อนเมาส์แบบกลับด้าน"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"เลื่อนขึ้นเพื่อเลื่อนหน้าลง"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"สลับปุ่มซ้ายและขวา"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"ใช้ปุ่มเมาส์ด้านซ้ายเป็นปุ่มขวา"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"แป้นพิมพ์ลัด"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"แสดงรายการแป้นพิมพ์ลัด"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"แป้นพิมพ์และเครื่องมือของโปรไฟล์งาน"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"เลือกคีย์ใหม่สำหรับ <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"การช่วยเหลือพิเศษด้วยแป้นพิมพ์จริง"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"คีย์ติดหนึบ คีย์ตีกลับ แป้นเมาส์"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"แป้นพิมพ์ซ้ำ"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"หน่วงเวลาก่อนพิมพ์ซ้ำ"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"อัตราการพิมพ์ซ้ำ"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"กดแป้นค้างไว้เพื่อพิมพ์อักขระซ้ำจนกว่าจะปล่อยแป้น"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"เลย์เอาต์ <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ค่าเริ่มต้น"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"อัตโนมัติ: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"ดูตัวอย่าง"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"ตัวเลือกมาตรฐาน"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"ภาษา"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"ขนาดคำบรรยายแทนเสียง"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"รูปแบบคำบรรยาย"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"ตัวเลือกที่กำหนดเอง"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"สีพื้นหลัง"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"ยกเลิกการเชื่อมต่อ VPN นี้ไหม"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"ยกเลิกการเชื่อมต่อ"</string>
     <string name="vpn_version" msgid="6344167191984400976">"รุ่น"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"เวอร์ชัน <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"ลืม VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"แทนที่ VPN ที่มีอยู่หรือไม่"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"ตั้งค่า VPN แบบเปิดตลอดเวลาหรือไม่"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"ค้นหาในการตั้งค่า"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"รายชื่อติดต่อ พื้นที่เก็บข้อมูล บัญชี"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"พื้นที่เก็บข้อมูลรายชื่อติดต่อ"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"อุปกรณ์เท่านั้น"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"รายชื่อติดต่อใหม่จะไม่ซิงค์กับบัญชี"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"ระบบจะบันทึกรายชื่อติดต่อไว้ในอุปกรณ์และซิงค์กับบัญชีของคุณโดยค่าเริ่มต้น"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"ไม่ได้ตั้งค่าบัญชีเริ่มต้น"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"เพิ่มบัญชีเพื่อเริ่มต้นใช้งาน"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"วงเพื่อค้นหา"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"แตะปุ่มหน้าแรกหรือแฮนเดิลนำทางค้างไว้เพื่อค้นหาโดยใช้เนื้อหาบนหน้าจอ"</string>
 </resources>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index 2a13662..6d1a881 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Snowflake"</item>
     <item msgid="7952183800501346803">"Beach umbrella"</item>
     <item msgid="799139025758265891">"Mga tool sa workshop"</item>
-    <item msgid="1330084588359129896">"Tent"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Film reel"</item>
     <item msgid="5827426100157335512">"Libro"</item>
     <item msgid="8585828346253128384">"Bulaklak na lotus"</item>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 0557ad3..4a231e2 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Awtomatikong itakda gamit ang iyong network at mga wireless na signal"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Awtomatikong time zone"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Awtomatikong itakda batay sa mga mobile network na malapit sa iyo"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Awtomatikong itakda gamit ang lokasyon ng device kung available Baka kailangan ng koneksyon sa Wifi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Awtomatikong itakda gamit ang lokasyon ng iyong device, kung available"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Gamitin ang lokal na default"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Gamitin ang format na 24-oras"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Oras"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"Binabalewala ng keyboard ang mabilis na paulit-ulit na pagpindot sa iisang key"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Limitasyon ng bounce key"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Piliin kung gaano katagal babalewalain ng iyong keyboard ang paulit-ulit na pagpindot sa key"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Custom"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"custom na bilang"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Mga slow key"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"I-adjust kung gaano katagal bago ma-activate ang pagpindot ng key"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Mga sticky key"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Paisa-isang pumindot ng key para sa mga shortcut sa halip na sabay-sabay na pindutin ang mga key"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Mga mouse key"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"Gamitin ang iyong keyboard para kontrolin ang pointer"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Reverse na pag-scroll ng mouse"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Mag-scroll pataas para ibaba ang page"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Pagpalitin ang kaliwa at kanang button"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Gamitin ang kaliwang button ng mouse bilang iyong kanan"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Mga keyboard shortcut"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Ipakita ang listahan ng mga shortcut"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Mga keyboard at tool ng profile sa trabaho"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Pumili ng bagong key para sa <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Accessibility ng pisikal na keyboard"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Mga sticky key, Mga bounce key, Mga mouse key"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Mga Umuulit na Key"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Pagkaantala bago umulit"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Rate ng Pag-uulit"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Pindutin nang matagal ang isang key para ulitin ang character nito hanggang sa bitawan ang key"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Layout na <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Default"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Awtomatiko: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"I-preview"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Mga karaniwang pagpipilian"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Wika"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Laki ng caption"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Istilo ng caption"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Mga custom na pagpipilian"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Kulay ng background"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Putulin ang koneksyon ng VPN na ito?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Putulin ang koneksyon"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Bersyon"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Bersyon <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Kalimutan ang VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Gusto mo bang palitan ang dati nang VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Gusto mo bang itakda ang VPN na palaging naka-on?"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Device lang"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Hindi masi-sync sa account ang mga bagong contact"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Ise-save sa iyong device at isi-sync sa iyong account bilang default ang mga contact"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Walang itinakdang default"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Magdagdag ng account para magsimula"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Circle to Search"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Pindutin nang matagal ang button ng Home o handle ng navigation para maghanap gamit ang content sa iyong screen."</string>
 </resources>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index b7e2f64..0a50c87 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Kar tanesi"</item>
     <item msgid="7952183800501346803">"Plaj şemsiyesi"</item>
     <item msgid="799139025758265891">"Atölye araçları"</item>
-    <item msgid="1330084588359129896">"Çadır"</item>
+    <item msgid="8112685757657659269">"Piyano"</item>
     <item msgid="3861584909935022342">"Film rulosu"</item>
     <item msgid="5827426100157335512">"Kitap"</item>
     <item msgid="8585828346253128384">"Nilüfer çiçeği"</item>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 7cfc243..950d172 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Ağınızı ve kablosuz sinyallerinizi kullanarak otomatik olarak ayarlayın"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Otomatik saat dilimi"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Yakınınızdaki mobil ağlara göre otomatik olarak ayarlayın"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Varsa cihazınızın konumu ile otomatik olarak ayarlanır. Etkin bir kablosuz bağlantı da gerekebilir."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Varsa cihazınızın konumu ile otomatik olarak ayarlanır"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Yerel ayar varsayılan değerini kullan"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 saat biçimini kullan"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Saat"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Erişilebilirlik"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Fiziksel klavye"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Geri sekme tuşları"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Klavye, aynı tuşa hızlı bir şekilde tekrarlanan basma işlemlerini yoksayar"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Tekrarlı basmayı yoksayma tuş eşiği"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Klavyenizin, tuşlara ne kadar süre içinde tekrarlanan basma işlemlerini yoksayacağını seçin"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 saniye"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 saniye"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 saniye"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Özel"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"özel değer"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Yavaş tuşlar"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Bir tuşa basma işleminin etkinleştirileceği süreyi ayarlar"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Yapışkan tuşlar"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Tuşları aynı anda basılı tutmak yerine kısayollar için tek seferde bir tuşa basın"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Fare tuşları"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"İşaretçiyi kontrol etmek için klavyenizi kullanın"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Fare ters kaydırma"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Sayfayı aşağı taşımak için yukarı kaydırın"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Sol ve sağ düğmeleri değiştir"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Sol fare düğmesini sağ fare düğmesi olarak kullanın"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klavye kısayolları"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Kısayol listesini göster"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"İş profili klavyeleri ve araçları"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> için yeni bir tuş seçin:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Fiziksel klavye erişilebilirliği"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Yapışkan tuşlar, geri sekme tuşları, fare tuşları"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Tuşları tekrarla"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Tekrardan önce geciktir"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Tekrarlama oranı"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Aynı karakteri tekrarlamak için ilgili tuşu basılı tutun. Tuş basılı tutulduğu sürece karakter tekrarlanır"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> düzeni"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Varsayılan"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Otomatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Önizle"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standart seçenekler"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Dil"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Altyazı boyutu"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Altyazı stili"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Özel seçenekler"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Arka plan rengi"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Bu VPN\'nin bağlantısı kesilsin mi?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Bağlantıyı kes"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Sürüm"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Sürüm <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPN\'yi unut"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Mevcut VPN değiştirilsin mi?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Her zaman açık VPN ayarlansın mı?"</string>
@@ -3822,7 +3820,7 @@
     <string name="zen_mode_from_no_conversations" msgid="3924593219855567165">"Yok"</string>
     <string name="zen_mode_conversations_count" msgid="3199310723073707153">"{count,plural, =0{Yok}=1{1 görüşme}other{# görüşme}}"</string>
     <string name="zen_mode_from_conversations_settings" msgid="2411930666794576607">"Görüşme ayarları"</string>
-    <string name="zen_mode_people_calls_messages_section_title" msgid="6815202112413762206">"Kimler kesintiye neden olabilir?"</string>
+    <string name="zen_mode_people_calls_messages_section_title" msgid="6815202112413762206">"Kimler rahatsız edebilir?"</string>
     <string name="zen_mode_people_footer" msgid="7710707353004137431">"Mesajlaşma veya arama uygulamaları size bildirim gönderemese bile burada seçtiğiniz kişiler bu uygulamalar üzerinden size erişebilirler"</string>
     <string name="zen_mode_calls_title" msgid="2078578043677037740">"Aramalar"</string>
     <string name="zen_mode_calls" msgid="7653245854493631095">"Aramalar"</string>
@@ -3837,7 +3835,7 @@
     <string name="zen_mode_messages_list" msgid="5431014101342361882">"mesajlar"</string>
     <string name="zen_mode_messages_title" msgid="1777598523485334405">"Mesajlar"</string>
     <string name="zen_mode_messages_header" msgid="253721635061451577">"Kesintiye neden olabilecek mesajlar"</string>
-    <string name="zen_mode_messages_footer" msgid="6002468050854126331">"İzin verilen mesajların ses çıkardığından emin olmak için cihazınızın çalmaya ayarlı olduğundan emin olun"</string>
+    <string name="zen_mode_messages_footer" msgid="6002468050854126331">"İzin verilen mesajlardan sesli uyarı alabilmek için için cihazınızın zil sesi çıkaracak şekilde ayarlı olduğundan emin olun"</string>
     <string name="zen_mode_custom_messages_footer" msgid="7545180036949550830">"\"<xliff:g id="SCHEDULE_NAME">%1$s</xliff:g>\" için gelen mesajlar engelleniyor. Arkadaşlarınız, aileniz veya diğer kişilerin size ulaşmasına izin vermek için ayarları düzenleyebilirsiniz."</string>
     <string name="zen_mode_all_messages_summary" msgid="3756267858343104554">"Tüm mesajlar size ulaşabilir"</string>
     <string name="zen_mode_all_calls_summary" msgid="7337907849083824698">"Tüm aramalar size ulaşabilir"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Ayarlar\'da ara"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kişiler, depolama alanı, hesap"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Kişi deposu"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Yalnızca cihaz"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Yeni kişiler bir hesapla senkronize edilmez"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Kişiler varsayılan olarak cihazınıza kaydedilir ve hesabınızla senkronize edilir"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Varsayılan ayar yok"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Başlamak için hesap ekleyin"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Seçerek Arat"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Ekranınızdaki içerikleri kullanarak arama yapmak için ana sayfa düğmesine veya gezinme tutma yerine dokunup basılı tutun."</string>
 </resources>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index 45639e5..47028b9 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Сніжинка"</item>
     <item msgid="7952183800501346803">"Пляжна парасоля"</item>
     <item msgid="799139025758265891">"Інструменти для майстерні"</item>
-    <item msgid="1330084588359129896">"Намет"</item>
+    <item msgid="8112685757657659269">"Піаніно"</item>
     <item msgid="3861584909935022342">"Кіноплівка"</item>
     <item msgid="5827426100157335512">"Книга"</item>
     <item msgid="8585828346253128384">"Квітка лотоса"</item>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index ad50504..93566b1 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Визначати автоматично за допомогою мережі й бездротових сигналів"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Автоматичний часовий пояс"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Визначати автоматично на основі мобільних мереж поблизу"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Визначати автоматично на основі геоданих пристрою (якщо доступно). Також може знадобитися активне з’єднання Wi-Fi."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Визначати автоматично на основі геоданих пристрою (якщо доступно)"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Використовувати місцеві налаштування за умовчанням"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24-годинний формат"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Час"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Доступність"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Фізична клавіатура"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Ігнорувати повторне натискання"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Клавіатура ігнорує кілька натискань однієї клавіші поспіль"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Поріг ігнорування повт. натискання"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Виберіть, протягом якого часу клавіатура ігноруватиме кілька натискань однієї клавіші"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 с"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 с"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 с"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Спеціальне"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"Спеціальне значення"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Повільні клавіші"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Установлює проміжок часу, через який клавіша реагує на натискання"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Залипання клавіш"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Натискайте клавіші по одній, замість того щоб утримувати їх одночасно"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Клавіші для керування мишею"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Щоб керувати курсором, використовуйте клавіатуру"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Зворотне прокручування мишею"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Прокручувати вгору, щоб переміщатися сторінкою вниз"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Поміняти місцями ліву й праву кнопки"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Використовувати ліву кнопку миші як праву"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Комбінації клавіш"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Показати список комбінацій клавіш"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Клавіатури та інструменти робочого профілю"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Виберіть нову клавішу для <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Функції доступності фізичної клавіатури"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Залипання клавіш, ігнорування повторного натискання клавіш, клавіші для керування мишею"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Повторювати введення символів клавіш"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Затримка перед повторенням"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Швидкість повторення"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Якщо ви втримуватимете клавішу, введення відповідного символу повторюватиметься, доки ви її не відпустите"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Розкладка <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"За умовчанням"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Автоматична розкладка: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Переглянути"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Стандартні параметри"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Мова"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Розмір субтитрів"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Стиль субтитрів"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Спеціальні параметри"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Колір фону"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Відключити цю мережу VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Відключити"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Версія"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Версія <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Забути мережу VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Замінити наявну мережу VPN?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Увімкнути постійну мережу VPN?"</string>
@@ -5434,7 +5432,7 @@
     <string name="audio_streams_dialog_retry" msgid="4456843891970998556">"Повторити спробу"</string>
     <string name="audio_streams_dialog_listen_to_audio_stream" msgid="8585253007762261528">"Слухайте потокове аудіо"</string>
     <string name="audio_streams_dialog_control_volume" msgid="7615062686016713544">"Потокове аудіо відтворюватиметься на пристрої <xliff:g id="DEVICE_NAME">%1$s</xliff:g>. Керуйте гучністю за допомогою цього пристрою."</string>
-    <string name="audio_streams_dialog_cannot_listen" msgid="4432257183698209966">"Не чути потокове аудіо"</string>
+    <string name="audio_streams_dialog_cannot_listen" msgid="4432257183698209966">"Помилка відтворення"</string>
     <string name="audio_streams_dialog_default_device" msgid="6159800303379303266">"підключені сумісні навушники"</string>
     <string name="audio_streams_activity_title" msgid="6766869545769831935">"Аудіопотоки"</string>
     <string name="audio_streams_no_password_summary" msgid="8976357323034830144">"Без пароля"</string>
@@ -5464,13 +5462,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Шукати в налаштуваннях"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"контакти, пам’ять, обліковий запис"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Пам’ять контактів"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Лише на пристрої"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Нові контакти не синхронізуватимуться з обліковим записом"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Контакти будуть зберігатися на пристрої і за умовчанням синхронізуватися з обліковим записом"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Немає параметра за умовчанням"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Щоб почати, додайте обліковий запис"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Обвести й знайти"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Натисніть і втримуйте кнопку головного екрана або маркер навігації, щоб здійснити пошук за вмістом на екрані."</string>
 </resources>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index 4563275..4fe0dfe 100644
--- a/res/values-ur/arrays.xml
+++ b/res/values-ur/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"برف کا گولا"</item>
     <item msgid="7952183800501346803">"ساحل کی چھتری"</item>
     <item msgid="799139025758265891">"ورکشاپ ٹولز"</item>
-    <item msgid="1330084588359129896">"خیمہ"</item>
+    <item msgid="8112685757657659269">"پیانو"</item>
     <item msgid="3861584909935022342">"فلم ریل"</item>
     <item msgid="5827426100157335512">"کتاب"</item>
     <item msgid="8585828346253128384">"کنول کا پھول"</item>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 504284e..67d3341 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"اپنے نیٹ ورک اور وائرلیس سگنلز کا استعمال کرتے ہوئے خود بخود سیٹ کریں"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"خودکار ٹائم زون"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"اپنے قریب کے موبائل نیٹ ورکس کی بنیاد پر خود بخود سیٹ کریں"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"‏دستیاب ہونے پر اپنے آلہ کا مقام استعمال کرتے ہوئے خود بخود سیٹ کریں۔ ایک فعال WiFi کنکشن بھی درکار ہو سکتا ہے۔"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"دستیاب ہونے پر اپنے آلہ کا مقام استعمال کر کے خودکار طور پر سیٹ کریں"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"مقامی ڈیفالٹ کا استعمال کریں"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 گھنٹے کا فارمیٹ استعمال کریں"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"وقت"</string>
@@ -1949,15 +1949,21 @@
     <string name="bounce_keys_summary" msgid="7418024428905737729">"کی بورڈ ایک ہی کلید کے بار بار فوری طور پر دبانے کو نظر انداز کرتا ہے"</string>
     <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"باؤنس کلید کی حد"</string>
     <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"کی بورڈ کے بار بار کلید کو دبانے کو نظر انداز کرنے کے وقت کا انتخاب کریں"</string>
-    <string name="bounce_keys_dialog_option_200" msgid="7876774697200082558">"0.2s"</string>
-    <string name="bounce_keys_dialog_option_400" msgid="8146580138675322657">"0.4s"</string>
-    <string name="bounce_keys_dialog_option_600" msgid="6166166103942612488">"0.6s"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 سیکنڈ"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 سیکنڈ"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 سیکنڈ"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"حسب ضرورت"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"مخصوص قدر"</string>
     <string name="slow_keys" msgid="2891452895499690837">"سلو کلیدیں"</string>
     <string name="slow_keys_summary" msgid="2914214326648535377">"کلید دبانے کو فعال کرنے میں لگنے والے وقت کو ایڈجسٹ کرتا ہے"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"دبی رہنے والی کلیدیں"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"کلیدوں کو ایک ساتھ نیچے کی طرف پکڑے رکھنے کے بجائے، شارٹ کٹس کیلئے ایک وقت میں ایک کلید دبائیں"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"ماؤس کیز"</string>
     <string name="mouse_keys_summary" msgid="7030731235143286467">"پوائنٹر کو کنٹرول کرنے کے لیے اپنا کی بورڈ استعمال کریں"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"ماؤس کی معکوس اسکرولنگ"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"صفحہ کو نیچے منتقل کرنے کے لیے اوپر اسکرول کریں"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"بائیں اور دائیں بٹنز کو سویپ کریں"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"بائیں ماؤس کے بٹن کو اپنے دائیں کے طور پر استعمال کریں"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"کی بورڈ شارٹ کٹس"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"شارٹ کٹس کی فہرست دکھائیں"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"دفتری پروفائل کے کی بورڈز اور ٹولز"</string>
@@ -2026,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"‫<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> کے لیے نئی کلید منتخب کریں:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"فزیکل کی بورڈ ایکسیسبیلٹی"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"دبی رہنے والی کلیدیں، باؤنس کلیدیں، ماؤس کلیدیں"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"تکرار کی کلیدیں"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"دہرانے سے پہلے تاخیر"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"تکرار کی شرح"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"اس کے کردار کو دہرانے کے لیے کلید کے ریلیز ہونے تک کلید کو دبائے رکھیں"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> لے آؤٹ"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"ڈیفالٹ"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"خودکار: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2434,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"پیش منظر دیکھیں"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"معیاری اختیارات"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"زبان"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"کیپشن کا سائز"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"کیپشن کا طرز"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"حسب ضرورت اختیارات"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"پس منظر کا رنگ"</string>
@@ -2979,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"‏اس VPN سے غیر منسلک کریں؟"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"غیر منسلک کریں"</string>
     <string name="vpn_version" msgid="6344167191984400976">"ورژن"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"ورژن <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"‏VPN بھول جائیں"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"‏موجودہ VPN بدلیں؟"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"‏ہمیشہ آن VPN سیٹ کریں؟"</string>
@@ -5457,6 +5463,13 @@
     <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"صرف آلہ"</string>
     <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"نئے رابطے کسی اکاؤنٹ کے ساتھ مطابقت پذیر نہیں ہوں گے"</string>
     <string name="contacts_storage_selection_message" msgid="8082077300632059003">"رابطے آپ کے آلے میں محفوظ کیے جائیں گے اور آپ کے اکاؤنٹ میں بطور ڈیفالٹ مطابقت پذیر ہوں گے"</string>
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"کوئی ڈیفالٹ سیٹ نہیں ہے"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
+    <skip />
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
+    <skip />
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
+    <skip />
     <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"شروع کرنے کیلئے ایک اکاؤنٹ شامل کریں"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"تلاش کرنے کیلئے دائرہ بنائیں"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"اپنی اسکرین پر موجود مواد کو استعمال کر کے تلاش کرنے کے لیے ہوم بٹن یا نیویگیشن ہینڈل کو ٹچ کریں اور دبائے رکھیں۔"</string>
 </resources>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index 8764027..60c7df9 100644
--- a/res/values-uz/arrays.xml
+++ b/res/values-uz/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Qor parchasi"</item>
     <item msgid="7952183800501346803">"Sohil soyaboni"</item>
     <item msgid="799139025758265891">"Asbob-uskunalar"</item>
-    <item msgid="1330084588359129896">"Chodir"</item>
+    <item msgid="8112685757657659269">"Pianino"</item>
     <item msgid="3861584909935022342">"Plyonka ruloni"</item>
     <item msgid="5827426100157335512">"Kitob"</item>
     <item msgid="8585828346253128384">"Lotus guli"</item>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index 79e0452..4f27263 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Qurilmadagi tarmoq va simsiz signallar orqali avtomatik sozlash"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Avtomatik vaqt mintaqasi"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Atrofdagi mobil tarmoq asosida avtomatik sozlash"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Geo-joylashuv asosida avtomatik sozlash. Wi-Fi aloqasi talab etilishi mumkin."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Geo-joylashuv asosida avtomatik sozlash"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Birlamchi hududiy sozlamalar"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"24 soatlik format"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Vaqt"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Qulayliklar"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Tashqi klaviatura"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Qayta bosishni nazorat qilish"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Klaviaturada bir tugmaning tez takroriy bosilishi inkor etiladi"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Takroriy bosishlar intervali"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Klaviaturada tugmaning takroriy bosilishi qancha vaqt inkor etilishini tanlang"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Boshqa"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"boshqa qiymat"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Sekin tugmalar"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Tugmani bosish intervali hamda uning amalini sozlash"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Yopishqoq tugmalar"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Barcha tugmalar kombinatsiyasini bosib turish oʻrniga ularni birma-bir bosing"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Sinchqoncha tugmalari"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Kursorni klaviatura orqali boshqarish"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Sichqonchada teskari varaqlash"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Sahifani pastga varaqlash uchun tepaga suring"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Chap va oʻng tugmalarni almashtirish"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Sichqonchada chap tugmani oʻng tugma sifatida ishlatish"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Tezkor tugmalar"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Tezkor tugmalar roʻyxatini ochish"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Ish profili klaviaturalari va vositalari"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g> uchun yangi tugma tanlang:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Jismoniy klaviatura uchun qulayliklar"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Yopishqoq tugmalar, qayta bosish boshqaruvi, sichqonchani boshqarish tugmalari"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Takrorlash tugmalari"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Takror kiritishdan oldin kechiktirish"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Takror kiritish tezligi"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Kalit chiqarilmaguncha uning belgisini takrorlash uchun tugmani bosib turing"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> sxemasi"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Standart"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Avtomatik: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Dastlabki ko‘rib chiqish"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Standart sozlamalar"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Til"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Tagyozuv hajmi"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Taglavhalar uslubi"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Buyurtmali tanlamalar"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Fon rangi"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Bu VPN bilan aloqa uzilsinmi?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Aloqani uzish"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versiya"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Versiya <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"VPNni o‘chirish"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Mavjud VPN tarmog‘i almashtirilsinmi?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Doimiy VPN o‘rnatilsinmi?"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Qidiruv sozlamalari"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"kontaktlar, xotira, hisob"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Kontaktlar ombori"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Faqat qurilmada"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Yangi kontaktlar hisobga sinxronlanmaydi"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Birlamchi holatda kontaktlar qurilmada saqlanadi va hisobga sinxronlanadi"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Asosiy hisob tayinlanmagan"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Avval hisob qoʻshing"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Chizib qidirish"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Ekrandagi kontent orqali qidirish uchun Asosiy tugmani yoki navigatsiya panelini bosib turing"</string>
 </resources>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index 7763c19..550c7e0 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"Bông tuyết"</item>
     <item msgid="7952183800501346803">"Dù che trên bãi biển"</item>
     <item msgid="799139025758265891">"Công cụ trong xưởng"</item>
-    <item msgid="1330084588359129896">"Lều"</item>
+    <item msgid="8112685757657659269">"Piano"</item>
     <item msgid="3861584909935022342">"Cuộn phim"</item>
     <item msgid="5827426100157335512">"Sách"</item>
     <item msgid="8585828346253128384">"Hoa sen"</item>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index c0cd408..c0cf8a5 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Tự động đặt dựa trên tín hiệu không dây và mạng của bạn"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Múi giờ tự động"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Tự động đặt dựa trên các mạng di động gần bạn"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Tự động đặt dựa trên vị trí thiết bị của bạn, nếu có. Có thể cần kết nối Wi-Fi đang hoạt động."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Tự động đặt dựa trên vị trí thiết bị của bạn, nếu có"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Sử dụng định dạng của địa phương"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Sử dụng định dạng 24 giờ"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Giờ"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Hỗ trợ tiếp cận"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Bàn phím vật lý"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Phím nảy"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Bàn phím sẽ bỏ qua các lần nhấn nhanh liên tục cùng một phím"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Ngưỡng phím nảy"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Chọn khoảng thời gian bàn phím bỏ qua các lần nhấn phím liên tục"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0,2 giây"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0,4 giây"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0,6 giây"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Tuỳ chỉnh"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"giá trị tuỳ chỉnh"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Phím chậm"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Điều chỉnh thời gian cần để kích hoạt một lượt nhấn phím"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Phím cố định"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Nhấn từng phím một để dùng phím tắt thay vì giữ các phím cùng lúc"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Các phím điều khiển chuột"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Sử dụng bàn phím để điều khiển con trỏ"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Đảo ngược hướng cuộn chuột"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Cuộn lên để di chuyển xuống phía dưới của trang"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Hoán đổi nút chuột trái và phải"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Sử dụng nút chuột trái như nút chuột phải"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Phím tắt"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Hiện danh sách phím tắt"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Công cụ và bàn phím hồ sơ công việc"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Chọn một phím mới cho <xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Hỗ trợ tiếp cận cho bàn phím vật lý"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Phím cố định, Phím nảy, Phím chuột"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Lặp lại phím"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Độ trễ trước khi lặp lại"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Tốc độ lặp lại"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Nhấn và giữ một phím để lặp lại ký tự của phím đó cho đến khi bạn nhả phím"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Bố cục <xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Mặc định"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Tự động: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Xem trước"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Tùy chọn chuẩn"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Ngôn ngữ"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Kích thước phụ đề"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Kiểu phụ đề"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Tùy chọn tùy chỉnh"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Màu nền"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Ngắt kết nối VPN này?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Ngắt kết nối"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Phiên bản"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Phiên bản <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Xóa VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Thay thế VPN hiện có?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Đặt VPN luôn bật?"</string>
@@ -3392,7 +3390,7 @@
     <string name="spatial_summary_on_one" msgid="6239933399496282994">"Đang bật/<xliff:g id="OUTPUT_DEVICE">%1$s</xliff:g>"</string>
     <string name="spatial_summary_on_two" msgid="4526919818832483883">"Đang bật/<xliff:g id="OUTPUT_DEVICE_0">%1$s</xliff:g> và <xliff:g id="OUTPUT_DEVICE_1">%2$s</xliff:g>"</string>
     <string name="spatial_audio_footer_title" msgid="8775010547623606088">"Bạn cũng có thể bật chế độ Âm thanh không gian cho các thiết bị Bluetooth."</string>
-    <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Cài đặt thiết bị được kết nối"</string>
+    <string name="spatial_audio_footer_learn_more_text" msgid="3826811708094366301">"Cài đặt thiết bị đã kết nối"</string>
     <string name="spatial_audio_multi_toggle_title" msgid="6175786400035541273">"Âm thanh không gian"</string>
     <string name="spatial_audio_multi_toggle_off" msgid="2086359413991193164">"Đang tắt"</string>
     <string name="spatial_audio_multi_toggle_on" msgid="4204808183659033003">"Đã khắc phục"</string>
@@ -3762,7 +3760,7 @@
     <string name="no_channels" msgid="4716199078612071915">"Ứng dụng này chưa đăng bất kỳ thông báo nào"</string>
     <string name="no_recent_channels" msgid="5068574296267584043">"Hiện các danh mục không dùng đến"</string>
     <string name="app_settings_link" msgid="6725453466705333311">"Chế độ cài đặt bổ sung trong ứng dụng"</string>
-    <string name="show_unused_channels" msgid="4956292847964439078">"Hiện các danh mục không dùng"</string>
+    <string name="show_unused_channels" msgid="4956292847964439078">"Hiện các danh mục không dùng đến"</string>
     <string name="hide_unused_channels" msgid="2019739275175707170">"Ẩn các danh mục không dùng"</string>
     <string name="deleted_channels" msgid="8489800381509312964">"{count,plural, =1{# danh mục bị xoá}other{# danh mục bị xoá}}"</string>
     <string name="app_notification_block_title" msgid="3880322745749900296">"Chặn tất cả"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Tìm kiếm trong phần Cài đặt"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"danh bạ, bộ nhớ, tài khoản"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Bộ nhớ danh bạ"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Chỉ thiết bị"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Những người liên hệ mới sẽ không được đồng bộ hoá với một tài khoản"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Những người liên hệ sẽ được lưu vào thiết bị và đồng bộ hoá với tài khoản của bạn theo mặc định"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Chưa đặt tài khoản mặc định nào"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Thêm một tài khoản để bắt đầu"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Khoanh tròn để tìm kiếm"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Bạn có thể chạm và giữ nút Màn hình chính hoặc thanh điều hướng để tìm kiếm bằng nội dung có trên màn hình của mình."</string>
 </resources>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index 43b3ced..4ecb4f6 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"雪花"</item>
     <item msgid="7952183800501346803">"沙滩伞"</item>
     <item msgid="799139025758265891">"工作坊工具"</item>
-    <item msgid="1330084588359129896">"帐篷"</item>
+    <item msgid="8112685757657659269">"钢琴"</item>
     <item msgid="3861584909935022342">"电影胶片"</item>
     <item msgid="5827426100157335512">"图书"</item>
     <item msgid="8585828346253128384">"莲花"</item>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 1273f07..42f0140 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"使用您的网络和无线信号自动设定"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"自动确定时区"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"根据您附近的移动网络自动设定"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"使用您的设备位置信息（如果可用）自动设定。可能还需要有效的 WLAN 连接。"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"根据设备位置信息（如果可用）自动设定"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"使用默认语言区域"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"使用 24 小时制"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"时间"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"无障碍功能"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"实体键盘"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"防抖键"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"键盘会忽略快速重复按下同一按键的操作"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"防抖键阈值"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"选择键盘忽略重复按键操作的时长"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 秒"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 秒"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 秒"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"自定义"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"自定义值"</string>
     <string name="slow_keys" msgid="2891452895499690837">"慢速键"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"调整启用按键操作所需的时长"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"粘滞键"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"只需一次按下一个键即可执行快捷操作，而不用同时按住多个键"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"鼠标键"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"使用键盘来控制指针"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"鼠标反向滚动"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"向上滚动可使页面内容向下移动"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"切换左键和右键"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"将鼠标左键用作右键"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"键盘快捷键"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"显示快捷键列表"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"工作资料键盘和工具"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"为<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>选择新的辅助键："</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"实体键盘无障碍功能"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"粘滞键、防抖键、鼠标键"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"重复输入按键字符"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"开始重复输入前的延迟时间"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"重复速率"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"按住某个按键即重复输入其对应的字符，直到松开该按键为止"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"“<xliff:g id="IME_LABEL">%s</xliff:g>”布局"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"默认"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"自动选择的布局：<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"预览"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"标准选项"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"语言"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"字幕大小"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"字幕样式"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"自定义选项"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"背景颜色"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"要断开与此 VPN 的连接吗？"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"断开连接"</string>
     <string name="vpn_version" msgid="6344167191984400976">"版本"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"<xliff:g id="VERSION">%s</xliff:g> 版"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"取消保存 VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"要替换现有 VPN 吗？"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"要设置始终开启的 VPN 吗？"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"在设置中搜索"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"联系人, 存储, 账号, contacts, storage, account"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"联系人存储"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"仅限设备"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"新联系人不会与账号同步"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"默认情况下，系统会将联系人保存到您的设备并同步到您的账号"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"未设置默认账号"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"添加账号即可开始"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"圈定即搜"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"轻触并按住主屏幕按钮或导航手柄，即可使用屏幕上的内容进行搜索。"</string>
 </resources>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index fa3cd29..190589a 100644
--- a/res/values-zh-rHK/arrays.xml
+++ b/res/values-zh-rHK/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"雪花"</item>
     <item msgid="7952183800501346803">"沙灘傘"</item>
     <item msgid="799139025758265891">"工作坊工具"</item>
-    <item msgid="1330084588359129896">"帳篷"</item>
+    <item msgid="8112685757657659269">"鋼琴"</item>
     <item msgid="3861584909935022342">"菲林卷軸"</item>
     <item msgid="5827426100157335512">"書籍"</item>
     <item msgid="8585828346253128384">"蓮花"</item>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 8478b1c..4f296cb 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"使用網絡和無線訊號自動設定"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"自動設定時區"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"根據你附近的流動網絡自動設定"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"使用裝置位置 (如已開啟) 自動設定。你亦可能需要啟用 Wi-Fi 連線。"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"使用裝置位置 (如已開啟) 自動設定"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"使用地區設定預設值"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"使用 24 小時格式"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"時間"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"無障礙功能"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"實體鍵盤"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"篩選鍵"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"鍵盤會忽略快速重覆按下同一按鍵的動作"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"彈跳鍵門檻"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"選擇鍵盤忽略重覆按鍵的時間長度"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 秒"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 秒"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 秒"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"自訂"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"自訂值"</string>
     <string name="slow_keys" msgid="2891452895499690837">"緩慢鍵"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"調整按鍵啟動時間"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"相黏鍵"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"一次按下快速鍵中的一個鍵，而非同時按住多個鍵"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"滑鼠按鍵"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"使用鍵盤控制游標"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"滑鼠反向捲動"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"向上捲動即可將頁面向下移動"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"調換左右鍵"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"將滑鼠左鍵當右鍵使用"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"鍵盤快速鍵"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"顯示快速鍵清單"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"工作設定檔鍵盤與工具"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"為「<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>」選擇新的輔助鍵："</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"實體鍵盤無障礙功能"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"相黏鍵、篩選鍵、滑鼠鍵"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"重複輸入按鍵"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"重複前的延遲時間"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"重複率"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"按住按鍵即可重複輸入按鍵上的字元，直到放開為止"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"<xliff:g id="IME_LABEL">%s</xliff:g> 版面配置"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"預設"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"自動：<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"預覽"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"標準選項"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"語言"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"字幕大小"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"字幕樣式"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"自訂選項"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"背景顏色"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"要解除連結此 VPN 嗎？"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"中斷連線"</string>
     <string name="vpn_version" msgid="6344167191984400976">"版本"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"版本 <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"刪除 VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"要取代目前的 VPN 嗎？"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"要設定保持開啟的 VPN 嗎？"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"搜尋設定"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"通訊錄, 儲存空間, 帳戶"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"「通訊錄」儲存空間"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"只限裝置"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"新聯絡人不會與帳戶同步"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"根據預設，系統會將聯絡人儲存至裝置並同步至你的帳戶"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"沒有預設帳戶"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"新增帳戶以開始使用"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"一圈即搜"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"按住主按鈕或導覽列，就能透過畫面上的內容搜尋。"</string>
 </resources>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index b34f354..876c5d9 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"雪花"</item>
     <item msgid="7952183800501346803">"沙灘遮陽傘"</item>
     <item msgid="799139025758265891">"工作坊工具"</item>
-    <item msgid="1330084588359129896">"帳篷"</item>
+    <item msgid="8112685757657659269">"鋼琴"</item>
     <item msgid="3861584909935022342">"電影膠卷"</item>
     <item msgid="5827426100157335512">"書籍"</item>
     <item msgid="8585828346253128384">"蓮花"</item>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index ff49870..f684a35 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"使用網路和無線訊號自動設定"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"自動判定時區"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"根據附近的行動網路自動設定"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"使用裝置位置資訊自動設定 (如有)。這個選項可能還需要有效的 Wi-Fi 連線。"</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"使用裝置位置資訊自動設定 (如有)"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"使用地區設定預設值"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"使用 24 小時格式"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"時間"</string>
@@ -1946,26 +1946,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"無障礙"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"實體鍵盤"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"彈回鍵"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"鍵盤會忽略快速重複按下同一按鍵的動作"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"彈回鍵門檻"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"選擇鍵盤忽略重複按下按鍵的時間長度"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2 秒"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4 秒"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6 秒"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"自訂"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"自訂值"</string>
     <string name="slow_keys" msgid="2891452895499690837">"延遲感應鍵"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"調整按鍵啟動時間"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"相黏鍵"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"一次按下快速鍵中的一個按鍵，而非同時按住多個按鍵"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"滑鼠按鍵"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"使用鍵盤控制游標"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"滑鼠反向捲動"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"向上捲動即可將頁面向下移動"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"交換左右按鍵"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"將滑鼠左鍵做為右鍵使用"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"鍵盤快速鍵"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"顯示快速鍵清單"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"工作資料夾鍵盤和工具"</string>
@@ -2034,10 +2032,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"為「<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>」選擇新的輔助鍵："</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"實體鍵盤無障礙功能"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"相黏鍵、彈回鍵、滑鼠按鍵"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"重複輸入按鍵"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"重複前延遲時間"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"重複速度"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"按住按鍵即可重複輸入按鍵上的字元，直到放開為止"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"「<xliff:g id="IME_LABEL">%s</xliff:g>」版面配置"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"預設"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"自動選取：<xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2442,8 +2440,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"預覽"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"標準選項"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"語言"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"字幕大小"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"字幕樣式"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"自訂選項"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"背景顏色"</string>
@@ -2987,6 +2984,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"要中斷這個 VPN 連線嗎？"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"中斷連線"</string>
     <string name="vpn_version" msgid="6344167191984400976">"版本"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"<xliff:g id="VERSION">%s</xliff:g> 版"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"清除 VPN 設定檔"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"要取代現有的 VPN 嗎？"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"要設定永久連線 VPN 嗎？"</string>
@@ -3526,7 +3524,7 @@
     <string name="zen_category_apps" msgid="1167374545618451925">"應用程式"</string>
     <string name="zen_category_exceptions" msgid="1316097981052752811">"鬧鐘和其他干擾"</string>
     <string name="zen_category_schedule" msgid="2003707171924226212">"排程"</string>
-    <string name="zen_category_duration" msgid="7515850842082631460">"從「快速設定」開啟後持續多久"</string>
+    <string name="zen_category_duration" msgid="7515850842082631460">"「快速設定」持續時長"</string>
     <string name="zen_settings_general" msgid="2704932194620124153">"一般"</string>
     <string name="zen_sound_footer" msgid="4090291351903631977">"開啟「零打擾」模式時，系統會將音效和震動設為靜音 (你在上方允許的項目除外)。"</string>
     <string name="zen_custom_settings_dialog_title" msgid="4613603772432720380">"自訂設定"</string>
@@ -3708,7 +3706,7 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"這個應用程式不支援加強型設定"</string>
     <string name="notif_listener_more_settings" msgid="1348409392307208921">"更多設定"</string>
     <string name="notif_listener_more_settings_desc" msgid="7995492074281663658">"應用程式內提供更多設定"</string>
-    <string name="notification_polite_title" msgid="6121016426991791557">"通知緩和功能"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"通知冷卻"</string>
     <string name="notification_polite_main_control_title" msgid="5812529809151927149">"使用通知緩和"</string>
     <string name="notification_polite_description" msgid="5497748284893832854">"如果短時間內收到多則通知，裝置就會降低音量並減少通知數量，持續時間最多 2 分鐘。來電、鬧鐘和重要對話則不受影響。\n\n如要在緩和期間查看通知，請從螢幕頂端往下拉。"</string>
     <string name="notification_polite_work" msgid="8823596456640216391">"套用至工作資料夾"</string>
@@ -5462,13 +5460,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"搜尋設定"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"聯絡人, 儲存空間, 帳戶"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"聯絡人儲存空間"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"僅限裝置"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"新的聯絡人資料不會與帳戶同步"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"系統預設會將聯絡人資料儲存到裝置，並同步到你的帳戶"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"沒有預設帳戶"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"如要開始使用，請新增帳戶"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"畫圈搜尋"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"按住主畫面按鈕或導覽列，就能搜尋畫面內容。"</string>
 </resources>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index 9b0b52d..c7e1289 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -519,7 +519,7 @@
     <item msgid="663512680597461570">"ISnowflake"</item>
     <item msgid="7952183800501346803">"Isambulela sasebhishi"</item>
     <item msgid="799139025758265891">"Amathuluzi asendaweni yomsebenzi"</item>
-    <item msgid="1330084588359129896">"Itende"</item>
+    <item msgid="8112685757657659269">"Iphiyano"</item>
     <item msgid="3861584909935022342">"Ireel yefilimu"</item>
     <item msgid="5827426100157335512">"Incwadi"</item>
     <item msgid="8585828346253128384">"Imbali yelotus"</item>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 441df39..94b66fe6 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -250,7 +250,7 @@
     <string name="date_time_auto_summary" msgid="8294938565417729698">"Setha ngokuzenzakalela usebenzisa inethiwekhi yakho namasignali angenantambo"</string>
     <string name="zone_auto_title" msgid="3520584257065861479">"Izoni yesikhathi ezenzekelayo"</string>
     <string name="zone_auto_title_summary" msgid="6540356783943375071">"Setha ngokuzenzekelayo ngokusekelwe kumanethiwekhi eselula aseduze nawe"</string>
-    <string name="auto_zone_requires_location_summary" msgid="8751995978350701451">"Setha ngokuzenzakalela usebenzisa indawo yedivayisi yakho, uma ikhona. Uxhumo lwe-Wifi olusebenzayo nalo lungadingeka."</string>
+    <string name="auto_zone_requires_location_summary" msgid="2366567167956530124">"Setha ngokuzenzekela usebenzisa indawo yedivayisi yakho, uma ikhona"</string>
     <string name="date_time_24hour_auto" msgid="6583078135067804252">"Sebenzisa okuzenzakalelayo kwasendaweni"</string>
     <string name="date_time_24hour" msgid="286679379105653406">"Sebenzisa ifomethi ye-24 amahora"</string>
     <string name="date_time_set_time_title" msgid="2870083415922991906">"Isikhathi"</string>
@@ -1947,26 +1947,24 @@
     <string name="keyboard_a11y_category" msgid="8230758278046841469">"Ukufinyeleleka"</string>
     <string name="physical_keyboard_title" msgid="3328134097512350958">"Ikhibhodi ephathekayo"</string>
     <string name="bounce_keys" msgid="7419450970351743904">"Okhiye bokubuyisela emuva"</string>
-    <!-- no translation found for bounce_keys_summary (7418024428905737729) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_title (4088646362538368693) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_subtitle (5640575860258120026) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_200 (7876774697200082558) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_400 (8146580138675322657) -->
-    <skip />
-    <!-- no translation found for bounce_keys_dialog_option_600 (6166166103942612488) -->
-    <skip />
+    <string name="bounce_keys_summary" msgid="7418024428905737729">"Ikhibhodi iziba ukucindezela okuphindaphindiwe okusheshayo kwenkinobho efanayo"</string>
+    <string name="bounce_keys_dialog_title" msgid="4088646362538368693">"Ukhawulo wokhiye abaphindwayo"</string>
+    <string name="bounce_keys_dialog_subtitle" msgid="5640575860258120026">"Khetha inkathi yesikhathi ikhibhodi yakho ezoziba ngaso ukucindezela kwezinkinobho okuphindaphindiwe"</string>
+    <string name="input_setting_keys_dialog_option_200" msgid="3121006986226247560">"0.2s"</string>
+    <string name="input_setting_keys_dialog_option_400" msgid="2634500629396699440">"0.4s"</string>
+    <string name="input_setting_keys_dialog_option_600" msgid="3828362866751805146">"0.6s"</string>
+    <string name="input_setting_keys_custom_title" msgid="670425691119253202">"Okomuntu ngamunye"</string>
+    <string name="input_setting_keys_custom_value" msgid="4455905650507193648">"inani lokomuntu ngamunye"</string>
     <string name="slow_keys" msgid="2891452895499690837">"Okhiye abahamba kancane"</string>
-    <!-- no translation found for slow_keys_summary (2914214326648535377) -->
-    <skip />
+    <string name="slow_keys_summary" msgid="2914214326648535377">"Ilungisa isikhathi okusithathayo ukuze ukucindezela inkinobho kusebenze"</string>
     <string name="sticky_keys" msgid="7317317044898161747">"Okhiye abanamathelayo"</string>
     <string name="sticky_keys_summary" msgid="1844953803625480623">"Cindezela inkinobho eyodwa ngesikhathi ukuze uthole izinqamuleli esikhundleni sokubamba izinkinobho ndawonye"</string>
     <string name="mouse_keys" msgid="6237254627808525540">"Okhiye bemouse"</string>
-    <!-- no translation found for mouse_keys_summary (7030731235143286467) -->
-    <skip />
+    <string name="mouse_keys_summary" msgid="7030731235143286467">"Sebenzisa ikhibhodi yakho ukuze ulawule isikhombi"</string>
+    <string name="mouse_reverse_vertical_scrolling" msgid="154907817154779952">"Ukuskrola ngokuphendukezela igundane"</string>
+    <string name="mouse_reverse_vertical_scrolling_summary" msgid="3386655598642587942">"Skrola uye phezulu bese uyisa ikhasi ezansi"</string>
+    <string name="mouse_swap_primary_button" msgid="3028204969091057207">"Shintshanisa izinkinobho kwesokunxele nakwesokudla"</string>
+    <string name="mouse_swap_primary_button_summary" msgid="3276638019321067902">"Sebenzisa inkinobho yemawusi kwesokunxele njengesokudla sakho"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Izinqamuleli zekhibhodi"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Bonisa uhlu lwezinqamuleli"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Amakhibhodi ephrofayela yomsebenzi namathuluzi"</string>
@@ -2035,10 +2033,10 @@
     <string name="modifier_keys_picker_summary" msgid="739397232249560785">"Khetha ukhiye omusha we-<xliff:g id="MODIFIER_KEY_DEFAULT_NAME">%1$s</xliff:g>:"</string>
     <string name="keyboard_a11y_settings" msgid="2564659018555385728">"Ukufinyeleleka kwekhibhodi engokoqobo"</string>
     <string name="keyboard_a11y_settings_summary" msgid="1698531156574098722">"Okhiye abanamathelayo, okhiye Bokubuyisela emuva, okhiye Bemawusi"</string>
-    <!-- no translation found for keyboard_repeat_key_title (3641350808120194549) -->
-    <skip />
-    <!-- no translation found for keyboard_repeat_key_summary (3970350989341158854) -->
-    <skip />
+    <string name="keyboard_repeat_keys_title" msgid="6346877755243280735">"Phinda Okhiye"</string>
+    <string name="keyboard_repeat_keys_timeout_title" msgid="3411871149974652293">"Bambezela ngaphambi kokuphinda"</string>
+    <string name="keyboard_repeat_keys_delay_title" msgid="7323531750483922943">"Phinda Ukulinganisela"</string>
+    <string name="keyboard_repeat_keys_summary" msgid="8972905345211768313">"Bambela phansi ukhiye ukuze uphinde uhlamvu lwawo kuze kukhululwe ukhiye walo"</string>
     <string name="ime_label_title" msgid="8994569521516807168">"Isakhiwo se-<xliff:g id="IME_LABEL">%s</xliff:g>"</string>
     <string name="default_keyboard_layout" msgid="8690689331289452201">"Okuzenzakalelayo"</string>
     <string name="automatic_keyboard_layout_label" msgid="9138088156046198913">"Okuzenzekelayo: <xliff:g id="LAYOUT_LABEL">%s</xliff:g>"</string>
@@ -2443,8 +2441,7 @@
     <string name="captioning_preview_title" msgid="2888561631323180535">"Buka kuqala"</string>
     <string name="captioning_standard_options_title" msgid="5360264497750980205">"Izinketho ezijwayelekile"</string>
     <string name="captioning_locale" msgid="5533303294290661590">"Ulimi"</string>
-    <!-- no translation found for captioning_text_size (5764254558945371745) -->
-    <skip />
+    <string name="captioning_text_size" msgid="5764254558945371745">"Usayizi wegama-ncazo"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"Isitayela segama-ncazo"</string>
     <string name="captioning_custom_options_title" msgid="3858866498893566351">"Izinketho ezingokwezifiso"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"Umbala ongemuva"</string>
@@ -2988,6 +2985,7 @@
     <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Nqamula le-VPN"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Nqamula"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Uhlobo"</string>
+    <string name="vpn_version_info" msgid="5717671228402924155">"Uhlobo <xliff:g id="VERSION">%s</xliff:g>"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Khohlwa i-VPN"</string>
     <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Shintshanisa i-VPN ekhona?"</string>
     <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Setha i-VPN ehlala ivuliwe?"</string>
@@ -5463,13 +5461,16 @@
     <string name="homepage_search" msgid="6759334912284663559">"Amasethingi Okusesha"</string>
     <string name="keywords_contacts_storage" msgid="9061213057165337893">"oxhumana nabo, isitoreji, i-akhawunti"</string>
     <string name="contacts_storage_settings_title" msgid="1574030546525203810">"Isitoreji soxhumana nabo"</string>
-    <!-- no translation found for contacts_storage_device_only_preference_label (970250816918108264) -->
+    <string name="contacts_storage_device_only_preference_label" msgid="970250816918108264">"Idivayisi kuphela"</string>
+    <string name="contacts_storage_device_only_preference_summary" msgid="2339782491812039153">"Oxhumana nabo abasha ngeke bavumelaniswe ne-akhawunti"</string>
+    <string name="contacts_storage_selection_message" msgid="8082077300632059003">"Oxhumana nabo bazolondolozwa kudivayisi yakho futhi bavumelaniswe ne-akhawunti yakho ngokuzenzakalelayo"</string>
+    <!-- no translation found for contacts_storage_set_default_account_error_message (849847649756411393) -->
     <skip />
-    <!-- no translation found for contacts_storage_device_only_preference_summary (2339782491812039153) -->
+    <!-- no translation found for contacts_storage_no_account_set_summary (7454973781666475276) -->
     <skip />
-    <!-- no translation found for contacts_storage_selection_message (8082077300632059003) -->
+    <!-- no translation found for contacts_storage_local_account_summary (5034805108128685712) -->
     <skip />
-    <string name="contacts_storage_no_account_set" msgid="1548101985417720782">"Ayikho isethi ezenzakalelayo"</string>
-    <!-- no translation found for contacts_storage_first_time_add_account_message (5161093169928132323) -->
-    <skip />
+    <string name="contacts_storage_first_time_add_account_message" msgid="5161093169928132323">"Faka i-akhawunti ukuze uqalise"</string>
+    <string name="search_gesture_feature_title" msgid="7037117019612710960">"Khethela Ukusesha"</string>
+    <string name="search_gesture_feature_summary" msgid="1793056495030564014">"Thinta uphinde ubambe inkinobho yokubuyela ekhasini lasekhaya noma isibambi sokufuna ukuze useshe usebenzisa okuqukethwe okusesikrinini sakho."</string>
 </resources>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 8e5519f..ed0bce4 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -1551,7 +1551,7 @@
         <item>@*android:drawable/ic_zen_mode_icon_snowflake</item>
         <item>@*android:drawable/ic_zen_mode_icon_beach</item>
         <item>@*android:drawable/ic_zen_mode_icon_workshop</item>
-        <item>@*android:drawable/ic_zen_mode_icon_camping</item>
+        <item>@*android:drawable/ic_zen_mode_icon_piano</item>
         <item>@*android:drawable/ic_zen_mode_type_theater</item> <!-- Film reel -->
         <item>@*android:drawable/ic_zen_mode_icon_book</item>
         <!-- Wellbeing -->
@@ -1602,7 +1602,7 @@
         <item>Snowflake</item>
         <item>Beach umbrella</item>
         <item>Workshop tools</item>
-        <item>Tent</item>
+        <item>Piano</item>
         <item>Film reel</item>
         <item>Book</item>
         <!-- Wellbeing -->
diff --git a/res/values/config.xml b/res/values/config.xml
index 065d28a..09f941f 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -836,4 +836,7 @@
 
     <!-- Package name for diagnostics app. -->
     <string name="config_device_diagnostics_package_name" translatable="false">com.android.devicediagnostics</string>
+
+    <!-- Package name for Linux terminal app -->
+    <string name="config_linux_terminal_app_package_name" translatable="false">com.android.virtualization.terminal</string>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 31ea1bf..ebb69f7 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -33,9 +33,9 @@
     <string name="device_info_protected_single_press">Tap to show info</string>
     <!-- [CHAR LIMIT=NONE] Device Info screen. Countdown for user taps to enable development settings -->
     <string name="show_dev_countdown">{count, plural,
-      =1      {You are now # step away from being a developer.}
-      other   {You are now # steps away from being a developer.}
-    }</string>
+        =1      {You are now # step away from being a developer.}
+        other   {You are now # steps away from being a developer.}
+        }</string>
     <!-- [CHAR LIMIT=NONE] Device Info screen. Confirmation that developer settings are enabled -->
     <string name="show_dev_on">You are now a developer!</string>
     <!-- [CHAR LIMIT=NONE] Device Info screen. Okay we get it, stop pressing, you already have it on -->
@@ -502,9 +502,9 @@
 
     <!-- The title of the confirmation dialog shown when the user selects one / several languages and tries to remove them [CHAR LIMIT=60] -->
     <string name="dlg_remove_locales_title">{count, plural,
-      =1      {Remove selected language?}
-      other   {Remove selected languages?}
-    }</string>
+        =1      {Remove selected language?}
+        other   {Remove selected languages?}
+        }</string>
 
     <!-- The text of the confirmation dialog shown when the user selects several languages and tries to remove them [CHAR LIMIT=NONE] -->
     <string name="dlg_remove_locales_message">Text will be displayed in another language.</string>
@@ -654,9 +654,9 @@
     <string name="location_settings_summary_location_off">Off</string>
     <!-- Summary for Location settings when location is on, explaining how many apps have location permission [CHAR LIMIT=NONE]-->
     <string name="location_settings_summary_location_on">{count, plural,
-      =1      {On / # app has access to location}
-      other   {On / # apps have access to location}
-    }</string>
+        =1      {On / # app has access to location}
+        other   {On / # apps have access to location}
+        }</string>
     <!-- Location settings, loading the number of apps which have location permission [CHAR LIMIT=30] -->
     <string name="location_settings_loading_app_permission_stats">Loading\u2026</string>
     <!-- Location settings footer warning text when location is on [CHAR LIMIT=NONE] -->
@@ -845,9 +845,9 @@
     <string name="fingerprint_add_title">Add fingerprint</string>
     <!-- Message showing the current number of fingerprints set up. Shown for a menu item that launches fingerprint settings or enrollment. -->
     <string name="security_settings_fingerprint_preference_summary">{count, plural,
-      =1      {Fingerprint added}
-      other   {# fingerprints added}
-    }</string>
+        =1      {Fingerprint added}
+        other   {# fingerprints added}
+        }</string>
     <!-- message shown in summary field when no fingerprints are registered -->
     <string name="security_settings_fingerprint_preference_summary_none">Setup needed</string>
     <!-- Introduction title shown in fingerprint enrollment to introduce the fingerprint feature [CHAR LIMIT=29] -->
@@ -1448,9 +1448,9 @@
     <string name="private_space_category_hide">Hide</string>
     <!-- Header on pattern confirm screen inside private space settings when separate lock set for private space [CHAR LIMIT=50] -->
     <string name="private_space_confirm_your_pattern_header">Confirm your private space pattern</string>
-     <!-- Header on PIN confirm screen inside private space settings when separate lock set for private space [CHAR LIMIT=50] -->
+    <!-- Header on PIN confirm screen inside private space settings when separate lock set for private space [CHAR LIMIT=50] -->
     <string name="private_space_confirm_your_pin_header">Re-enter your private space PIN</string>
-     <!-- Header on password confirm screen inside private space when separate lock set for private space[CHAR LIMIT=50] -->
+    <!-- Header on password confirm screen inside private space when separate lock set for private space[CHAR LIMIT=50] -->
     <string name="private_space_confirm_your_password_header">Re-enter your private space password</string>
 
     <!-- Text shown when "Add fingerprint" button is disabled -->
@@ -1686,21 +1686,21 @@
 
     <!-- Hint shown in dialog screen when password is too short -->
     <string name="lockpassword_password_too_short">{count, plural,
-      =1      {Must contain at least # character}
-      other   {Must be at least # characters}
-    }</string>
+        =1      {Must contain at least # character}
+        other   {Must be at least # characters}
+        }</string>
     <!-- Hint shown in dialog screen when password is too short and only using numbers. [CHAR LIMIT=NONE] -->
     <string name="lockpassword_password_too_short_all_numeric">
         {count, plural,
-            =1    {If using only numbers, must be at least 1 digit}
-            other {If using only numbers, must be at least # digits}
+        =1    {If using only numbers, must be at least 1 digit}
+        other {If using only numbers, must be at least # digits}
         }
     </string>
     <!-- Hint shown in dialog screen when PIN is too short -->
     <string name="lockpassword_pin_too_short">{count, plural,
-      =1      {PIN must contain at least # digit}
-      other   {PIN must be at least # digits}
-    }</string>
+        =1      {PIN must contain at least # digit}
+        other   {PIN must be at least # digits}
+        }</string>
 
     <!-- Hint shown in dialog screen when PIN is too short with Additional text indicating minAutoConfirmLen(eg: 6) digits PIN offer additional security -->
     <string name="lockpassword_pin_too_short_autoConfirm_extra_message">{count, plural,
@@ -1710,14 +1710,14 @@
 
     <!-- Error shown in popup when password is too long -->
     <string name="lockpassword_password_too_long">{count, plural,
-      =1      {Must be fewer than # character}
-      other   {Must be fewer than # characters}
-    }</string>
+        =1      {Must be fewer than # character}
+        other   {Must be fewer than # characters}
+        }</string>
     <!-- Error shown in popup when PIN is too long -->
     <string name="lockpassword_pin_too_long">{count, plural,
-      =1      {Must be fewer than # digit}
-      other   {Must be fewer than # digits}
-    }</string>
+        =1      {Must be fewer than # digit}
+        other   {Must be fewer than # digits}
+        }</string>
 
     <!-- Error shown when in PIN mode and PIN has been used recently. Please keep this string short! -->
     <string name="lockpassword_pin_recently_used">Device admin doesn\'t allow using a recent PIN</string>
@@ -1727,45 +1727,45 @@
 
     <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of letters -->
     <string name="lockpassword_password_requires_letters">{count, plural,
-      =1      {Must contain at least 1 letter}
-      other   {Must contain at least # letters}
-    }</string>
+        =1      {Must contain at least 1 letter}
+        other   {Must contain at least # letters}
+        }</string>
 
     <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of lowercase letters -->
     <string name="lockpassword_password_requires_lowercase">{count, plural,
-      =1      {Must contain at least 1 lowercase letter}
-      other   {Must contain at least # lowercase letters}
-    }</string>
+        =1      {Must contain at least 1 lowercase letter}
+        other   {Must contain at least # lowercase letters}
+        }</string>
 
     <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of uppercase letters -->
     <string name="lockpassword_password_requires_uppercase">{count, plural,
-      =1      {Must contain at least 1 uppercase letter}
-      other   {Must contain at least # uppercase letters}
-    }</string>
+        =1      {Must contain at least 1 uppercase letter}
+        other   {Must contain at least # uppercase letters}
+        }</string>
 
     <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of numerical digits -->
     <string name="lockpassword_password_requires_numeric">{count, plural,
-      =1      {Must contain at least 1 numerical digit}
-      other   {Must contain at least # numerical digits}
-    }</string>
+        =1      {Must contain at least 1 numerical digit}
+        other   {Must contain at least # numerical digits}
+        }</string>
 
     <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of special symbols -->
     <string name="lockpassword_password_requires_symbols">{count, plural,
-      =1      {Must contain at least 1 special symbol}
-      other   {Must contain at least # special symbols}
-    }</string>
+        =1      {Must contain at least 1 special symbol}
+        other   {Must contain at least # special symbols}
+        }</string>
 
     <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of non-letter characters -->
     <string name="lockpassword_password_requires_nonletter">{count, plural,
-      =1      {Must contain at least 1 non-letter character}
-      other   {Must contain at least # non-letter characters}
-    }</string>
+        =1      {Must contain at least 1 non-letter character}
+        other   {Must contain at least # non-letter characters}
+        }</string>
 
     <!-- Error shown when in PASSWORD mode and password doesn't contain the required number of non-numerical characters -->
     <string name="lockpassword_password_requires_nonnumerical">{count, plural,
-      =1      {Must contain at least 1 non-numerical character}
-      other   {Must contain at least # non-numerical characters}
-    }</string>
+        =1      {Must contain at least 1 non-numerical character}
+        other   {Must contain at least # non-numerical characters}
+        }</string>
 
     <!-- Error shown when in PASSWORD mode and password has been used recently. Please keep this string short! -->
     <string name="lockpassword_password_recently_used">Device admin doesn\'t allow using a recent
@@ -1801,9 +1801,9 @@
 
     <!-- Summary of preference to manage device admin apps, informing the user how many device admin apps are installed and active -->
     <string name="number_of_device_admins">{count, plural,
-      =1      {# active app}
-      other   {# active apps}
-    }</string>
+        =1      {# active app}
+        other   {# active apps}
+        }</string>
 
     <!-- Title of preference to manage trust agents -->
     <string name="manage_trust_agents">Trust agents</string>
@@ -1816,9 +1816,9 @@
 
     <!-- Summary of preference to manage device policies when there is trust agent-->
     <string name="manage_trust_agents_summary_on">{count, plural,
-      =1      {1 active trust agent}
-      other   {# active trust agents}
-    }</string>
+        =1      {1 active trust agent}
+        other   {# active trust agents}
+        }</string>
 
     <!-- Bluetooth settings -->
     <!--Used as title on second screen after selecting Bluetooth settings -->
@@ -2412,19 +2412,19 @@
     <!-- Wi-Fi Advanced Settings --> <skip />
     <!-- Wi-Fi settings screen, Saved networks summary.  This shows below the "Saved networks" item and indicates the number of networks, not including passpoint network, a user has saved. [CHAR LIMIT=30] -->
     <string name="wifi_saved_access_points_summary">{count, plural,
-      =1      {1 network}
-      other   {# networks}
-    }</string>
+        =1      {1 network}
+        other   {# networks}
+        }</string>
     <!-- Wi-Fi settings screen, Saved networks summary.  This shows below the "Saved networks" item and indicates the number of passpoint networks a user has saved. [CHAR LIMIT=30] -->
     <string name="wifi_saved_passpoint_access_points_summary">{count, plural,
-      =1      {1 subscription}
-      other   {# subscriptions}
-    }</string>
+        =1      {1 subscription}
+        other   {# subscriptions}
+        }</string>
     <!-- Wi-Fi settings screen, Saved networks summary.  This shows below the "Saved networks" item and indicates number of whole kinds networks, if there are both normal saved networks and saved passpoint networks. The number will be at least 2, so the one case is only to prevent lint error. [CHAR LIMIT=60] -->
     <string name="wifi_saved_all_access_points_summary">{count, plural,
-      =1      {1 network &amp; subscription}
-      other   {# networks &amp; subscriptions}
-    }</string>
+        =1      {1 network &amp; subscription}
+        other   {# networks &amp; subscriptions}
+        }</string>
     <!-- Wi-Fi settings screen, advanced, title of the item to show the Wi-Fi device's SSID. [CHAR LIMIT=20] -->
     <string name="wifi_advanced_ssid_title">SSID</string>
     <!-- Wi-Fi settings screen, advanced, title of the item to show the device's Wi-Fi MAC address. [CHAR LIMIT=50] -->
@@ -2998,11 +2998,11 @@
     <!-- Dark UI screen footer summary text shown to indicate Modes may turn on/off Dark theme automatically according to their triggers. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_modes_footer_summary">
         {count, plural, offset:2
-            =0    {Modes can also activate dark theme}
-            =1    {{mode_1} also activates dark theme}
-            =2    {{mode_1} and {mode_2} also activate dark theme}
-            =3    {{mode_1}, {mode_2}, and {mode_3} also activate dark theme}
-            other {{mode_1}, {mode_2}, and # more also activate dark theme}
+        =0    {Modes can also activate dark theme}
+        =1    {{mode_1} also activates dark theme}
+        =2    {{mode_1} and {mode_2} also activate dark theme}
+        =3    {{mode_1}, {mode_2}, and {mode_3} also activate dark theme}
+        other {{mode_1}, {mode_2}, and # more also activate dark theme}
         }
     </string>
     <!-- Dark UI screen footer action text linking to Modes settings. [CHAR LIMIT=NONE] -->
@@ -3153,9 +3153,9 @@
     <string name="wrong_pin_code_pukked">Incorrect SIM PIN code you must now contact your carrier to unlock your device.</string>
     <!-- Instructions telling the user that they entered the wrong SIM PIN while trying to unlock the keyguard.  Displayed in a dialog box.  [CHAR LIMIT=100] -->
     <string name="wrong_pin_code">{count, plural,
-      =1      {Incorrect SIM PIN code, you have # remaining attempt before you must contact your carrier to unlock your device.}
-      other   {Incorrect SIM PIN code, you have # remaining attempts.}
-    }</string>
+        =1      {Incorrect SIM PIN code, you have # remaining attempt before you must contact your carrier to unlock your device.}
+        other   {Incorrect SIM PIN code, you have # remaining attempts.}
+        }</string>
 
     <!-- This is instruction text to inform the user that they have entered the wrong SIM PIN while trying to unlock the keyguard.
          The variable will be replaced with a number. [CHAR LIMIT=NONE] -->
@@ -3324,27 +3324,27 @@
 
     <!-- Dialog body informing user about an unmountable storage device. [CHAR LIMIT=NONE]-->
     <string name="storage_dialog_unmountable">This <xliff:g id="name" example="SD card">^1</xliff:g> is corrupted.
-\n\nTo use this <xliff:g id="name" example="SD card">^1</xliff:g>, you have to set it up first.</string>
+        \n\nTo use this <xliff:g id="name" example="SD card">^1</xliff:g>, you have to set it up first.</string>
 
     <!-- Body of dialog informing user about consequences of formatting an internal storage device [CHAR LIMIT=NONE]-->
     <string name="storage_internal_format_details">You can format this SD card to store photos, videos, music,
         and more and access them on other devices.
         \n\n<b>All data on this SD card will be erased.</b>
         \n\n<b>Before formatting</b>
-\n\n<b>Back up photos &amp; other media</b>
-\nMove your media files to alternative storage on this device, or transfer them to a computer using a USB cable.
-\n\n<b>Back up apps</b>
-\nAll apps stored on this <xliff:g id="name" example="SD card">^1</xliff:g> will be uninstalled and their data will be erased. To keep these apps, move them to alternative storage on this device.</string>
+        \n\n<b>Back up photos &amp; other media</b>
+        \nMove your media files to alternative storage on this device, or transfer them to a computer using a USB cable.
+        \n\n<b>Back up apps</b>
+        \nAll apps stored on this <xliff:g id="name" example="SD card">^1</xliff:g> will be uninstalled and their data will be erased. To keep these apps, move them to alternative storage on this device.</string>
 
     <!-- Body of dialog informing user about consequences of ejecting an internal storage device [CHAR LIMIT=NONE]-->
     <string name="storage_internal_unmount_details"><b>When you eject this <xliff:g id="name" example="SD card">^1</xliff:g>, apps stored on it will stop working, and media files stored on it will not be available until it is reinserted.</b>
-\n\nThis <xliff:g id="name" example="SD card">^1</xliff:g> is formatted to work on this device only.  It won\u2019t work on any others.</string>
+        \n\nThis <xliff:g id="name" example="SD card">^1</xliff:g> is formatted to work on this device only.  It won\u2019t work on any others.</string>
 
     <!-- Body of dialog informing user about consequences of forgetting an internal storage device [CHAR LIMIT=NONE]-->
     <string name="storage_internal_forget_details">To use the apps, photos, or data this <xliff:g id="name" example="SD card">^1</xliff:g> contains, reinsert it.
-\n\nAlternatively, you can choose to forget this storage if the device isn\u2019t available.
-\n\nIf you choose to forget, all the data the device contains will be lost forever.
-\n\nYou can reinstall the apps later, but their data stored on this device will be lost.</string>
+        \n\nAlternatively, you can choose to forget this storage if the device isn\u2019t available.
+        \n\nIf you choose to forget, all the data the device contains will be lost forever.
+        \n\nYou can reinstall the apps later, but their data stored on this device will be lost.</string>
 
     <!-- Title of dialog confirming that user wants to forget an internal storage device [CHAR LIMIT=32]-->
     <string name="storage_internal_forget_confirm_title">Forget <xliff:g id="name" example="SD card">^1</xliff:g>?</string>
@@ -3378,7 +3378,7 @@
     <string name="storage_wizard_move_confirm_title">Move <xliff:g id="app" example="Calculator">^1</xliff:g></string>
     <!-- Body of wizard step prompting user to move an app [CHAR LIMIT=NONE] -->
     <string name="storage_wizard_move_confirm_body">Moving <xliff:g id="app" example="Calculator">^1</xliff:g> and its data to <xliff:g id="name" example="SD card">^2</xliff:g> will take only a few moments. You won\u2019t be able to use the app until the move is complete.
-\n\nDon\u2019t remove the <xliff:g id="name" example="SD card">^2</xliff:g> during the move.
+        \n\nDon\u2019t remove the <xliff:g id="name" example="SD card">^2</xliff:g> during the move.
     </string>
 
     <!-- Body of lock screen challenge message explaining that the given user must be unlocked before data can be moved [CHAR LIMIT=64] -->
@@ -3388,7 +3388,7 @@
     <string name="storage_wizard_move_progress_title">Moving <xliff:g id="app" example="Calculator">^1</xliff:g>\u2026</string>
     <!-- Body of wizard step showing app move progress [CHAR LIMIT=NONE] -->
     <string name="storage_wizard_move_progress_body">Don\u2019t remove the <xliff:g id="name" example="SD card">^1</xliff:g> during the move.
-\n\nThe <xliff:g id="app" example="Calculator">^2</xliff:g> app on this device won\u2019t be available until the move is complete.
+        \n\nThe <xliff:g id="app" example="Calculator">^2</xliff:g> app on this device won\u2019t be available until the move is complete.
     </string>
 
     <!-- This is the title of a full-screen message. After this question, the user will get to choose how they want to use the storage device that they have in their phone. The placeholder is for the specific device (e.g. SD card, USB drive, etc.). [CHAR LIMIT=32] -->
@@ -3408,7 +3408,7 @@
     <string name="storage_wizard_format_confirm_v2_title">Format this <xliff:g id="name" example="SD card">^1</xliff:g>?</string>
     <!-- Body of a dialog. This text is confirming that the user wants to use their SD card as extra phone storage, but the formatting process will erase existing content on the card. The first placeholder is for the name of the device (e.g. a brand name of the SD card or USB drive). The second and third placeholders are for the general references (e.g. SD card, USB drive). [CHAR LIMIT=NONE] -->
     <string name="storage_wizard_format_confirm_v2_body">This <xliff:g id="name" example="SanDisk SD card">^1</xliff:g> needs to be formatted to store apps, files, and media.
-\n\nFormatting will erase existing content on the <xliff:g id="name" example="SD card">^2</xliff:g>. To avoid losing content, back it up to another <xliff:g id="name" example="SD card">^3</xliff:g> or device.</string>
+        \n\nFormatting will erase existing content on the <xliff:g id="name" example="SD card">^2</xliff:g>. To avoid losing content, back it up to another <xliff:g id="name" example="SD card">^3</xliff:g> or device.</string>
     <!-- Body of a dialog. This text is confirming that the user wants to use their SD card as portable storage, but the formatting process will erase existing content on the card. The first placeholder is for the name of the device (e.g. a brand name of the SD card or USB drive). The second and third placeholders are for the general references (e.g. SD card, USB drive). [CHAR LIMIT=NONE] -->
     <string name="storage_wizard_format_confirm_v2_body_external">This <xliff:g id="name" example="SanDisk SD card">^1</xliff:g> needs to be formatted to store photos, videos, music, and more.
         \n\nFormatting will erase existing content on the <xliff:g id="name" example="SD card">^2</xliff:g>. To avoid losing content, back it up to another <xliff:g id="name" example="SD card">^3</xliff:g> or device.</string>
@@ -3437,8 +3437,8 @@
     <string name="storage_wizard_slow_v2_title">Slow <xliff:g id="name" example="SD card">^1</xliff:g></string>
     <!-- Strings that are part of a full-screen message. These strings let the user know that their storage device is slow, and include some options they can try. The first placeholder is for the name of the storage device (e.g. brand name of the SD card), and the second and third placeholders are for the general references (e.g. SD card, USB drive, etc.). [CHAR LIMIT=NONE] -->
     <string name="storage_wizard_slow_v2_body">You can still use this <xliff:g id="name" example="SanDisk SD card">^1</xliff:g>, but it may be slow.
-\n\nApps stored on this <xliff:g id="name" example="SD card">^2</xliff:g> may not work properly, and content transfers could take a long time.
-\n\nTry using a faster <xliff:g id="name" example="SD card">^3</xliff:g>, or use this <xliff:g id="name" example="SD card">^4</xliff:g> for portable storage instead.</string>
+        \n\nApps stored on this <xliff:g id="name" example="SD card">^2</xliff:g> may not work properly, and content transfers could take a long time.
+        \n\nTry using a faster <xliff:g id="name" example="SD card">^3</xliff:g>, or use this <xliff:g id="name" example="SD card">^4</xliff:g> for portable storage instead.</string>
     <!-- Action of a dialog. This action will start the wizard from the beginning, letting the user make an alternative choice. [CHAR LIMIT=32] -->
     <string name="storage_wizard_slow_v2_start_over">Start over</string>
     <!-- Action of a dialog. This action will continue the wizard, meaning the user acknowledges their card is slow. [CHAR LIMIT=32] -->
@@ -3753,9 +3753,9 @@
 
     [CHAR LIMIT=NONE]-->
     <string name="location_app_permission_summary_location_on">{count, plural,
-      =1      {# of {total} apps has access to location}
-      other   {# of {total} apps have access to location}
-    }</string>
+        =1      {# of {total} apps has access to location}
+        other   {# of {total} apps have access to location}
+        }</string>
     <!-- [CHAR LIMIT=50] Location settings screen, sub category for recent location access -->
     <string name="location_category_recent_location_access">Recent access</string>
     <!-- Location settings screen, displayed when there're more than three recent location access apps [CHAR LIMIT=30] -->
@@ -4141,9 +4141,9 @@
     <string name="recent_app_category_title">Recently opened apps</string>
     <!-- Preference title for showing all apps on device [CHAR_LIMIT=50]-->
     <string name="see_all_apps_title">{count, plural,
-      =1      {See all apps}
-      other   {See all # apps}
-    }</string>
+        =1      {See all apps}
+        other   {See all # apps}
+        }</string>
 
     <!-- Title of the dialog that asks the user to contact the IT admin to reset password [CHAR LIMIT=40] -->
     <string name="forgot_password_title">Contact your IT admin</string>
@@ -4174,9 +4174,9 @@
     <string name="cache_size_label">Cache</string>
     <!-- Manage applications, individual application info storage screen. Describes the number of URIs (directories or files) an app has been granted access (by another apps)-->
     <string name="uri_permissions_text">{count, plural,
-      =1      {1 item}
-      other   {# items}
-    }</string>
+        =1      {1 item}
+        other   {# items}
+        }</string>
     <!-- Manage applications, individual application info storage screen. Button below list of URIs. -->
     <string name="clear_uri_btn_text">Clear access</string>
     <!-- Manage applications, Header name used for other controls -->
@@ -4229,7 +4229,7 @@
     <string name="clear_activities">Clear default preferences</string>
     <!-- Manage applications, individual application info screen, screen, message text under screen compatibility heading -->
     <string name="screen_compatibility_text">This app may not be designed for your screen. You can control how it
-            adjusts to your screen here.</string>
+        adjusts to your screen here.</string>
     <!-- Manage applications, individual application screen, checkbox to control asking for compatibility mode.  -->
     <string name="ask_compatibility">Ask when launched</string>
     <!-- Manage applications, individual application screen, checkbox to control compatibility mode.  -->
@@ -4493,10 +4493,10 @@
     <!-- Warning message about security implications of enabling a spell checker, displayed as a dialog
          message when the user selects to enable a spell checker. -->
     <string name="spellchecker_security_warning">This spell checker may be able to collect
-    all the text you type, including personal data like passwords and credit
-    card numbers.  It comes from the app
-    <xliff:g id="spellchecker_application_name">%1$s</xliff:g>.
-    Use this spell checker?</string>
+        all the text you type, including personal data like passwords and credit
+        card numbers.  It comes from the app
+        <xliff:g id="spellchecker_application_name">%1$s</xliff:g>.
+        Use this spell checker?</string>
     <!-- Image button description for spell checker quick settings. -->
     <string name="spellchecker_quick_settings">Settings</string>
     <!-- Image button description for spell checker language. -->
@@ -4525,12 +4525,17 @@
     <string name="bounce_keys_dialog_title">Bounce key threshold</string>
     <!-- Subtitle for the 'Bounce keys' threshold dialog. [CHAR LIMIT=300] -->
     <string name="bounce_keys_dialog_subtitle">Choose the duration of time your keyboard ignores repeated key presses</string>
-    <!-- Option title for the 'Bounce keys' threshold dialog for 200 millisecond. [CHAR LIMIT=35] -->
-    <string name="bounce_keys_dialog_option_200">0.2s</string>
-    <!-- Option title for the 'Bounce keys' threshold dialog for 400 millisecond. [CHAR LIMIT=35] -->
-    <string name="bounce_keys_dialog_option_400">0.4s</string>
-    <!-- Option title for the 'Bounce keys' threshold dialog for 600 millisecond. [CHAR LIMIT=35] -->
-    <string name="bounce_keys_dialog_option_600">0.6s</string>
+    <!-- Option title for the input setting keys threshold dialog for 200 millisecond. [CHAR LIMIT=35] -->
+    <string name="input_setting_keys_dialog_option_200">0.2s</string>
+    <!-- Option title for the input setting keys threshold dialog for 400 millisecond. [CHAR LIMIT=35] -->
+    <string name="input_setting_keys_dialog_option_400">0.4s</string>
+    <!-- Option title for the input setting keys threshold dialog for 600 millisecond. [CHAR LIMIT=35] -->
+    <string name="input_setting_keys_dialog_option_600">0.6s</string>
+    <!-- Option title for the input setting keys threshold dialog for custom value. [CHAR LIMIT=35] -->
+    <string name="input_setting_keys_custom_title">Custom</string>
+    <!-- Option subtitle for the input setting keys threshold dialog for custom value. [CHAR LIMIT=35] -->
+    <string name="input_setting_keys_custom_value">custom value</string>
+
     <!-- Title for the 'Slow keys' preference switch. [CHAR LIMIT=35] -->
     <string name="slow_keys">Slow keys</string>
     <!-- Summary text for the 'Slow keys' preference sub-screen. [CHAR LIMIT=300] -->
@@ -4541,6 +4546,8 @@
     <string name="sticky_keys_summary">Press one key at a time for shortcuts instead of holding keys down together</string>
     <!-- Title for a toggle switch for 'mouse' keys,  an accessibility setting that allows the mouse pointer to be controlled using certain keys on a physical keyboard if keyboard is connected. [CHAR LIMIT=35] -->
     <string name="mouse_keys">Mouse keys</string>
+    <!-- Title for a toggle switch for 'mouse' keys under mouse key main page,  an accessibility setting that allows the mouse pointer to be controlled using certain keys on a physical keyboard if keyboard is connected. [CHAR LIMIT=35] -->
+    <string name="mouse_keys_main_title">Use mouse keys</string>
     <!-- Summary text for the accessibility setting 'Mouse keys' preference sub-screen. [CHAR LIMIT=100] -->
     <string name="mouse_keys_summary">Use your keyboard to control the pointer</string>
     <!-- Title for the 'Mouse reverse scrolling' preference switch, which reverses the direction of mouse scroll wheels so that moving the wheel up scrolls the content down. [CHAR LIMIT=60] -->
@@ -4551,6 +4558,21 @@
     <string name="mouse_swap_primary_button">Swap left and right buttons</string>
     <!-- Summary text for the 'Swap buttons' preference switch indicating to users that when this switch is enabled, their left click will behave as though it is the right click (secondary action) and that the right click will be the primary action. [CHAR LIMIT=NONE] -->
     <string name="mouse_swap_primary_button_summary">Use the left mouse button as your right</string>
+    <!-- page title for Mouse key main page. [CHAR LIMIT=NONE] -->
+    <string name="mouse_key_main_page_title">Mouse keys for <xliff:g id="keyboard name" example="my keyboard">%s</xliff:g></string>
+    <!-- Summary text for Mouse keys directional image. [CHAR LIMIT=NONE] -->
+    <string name="mouse_keys_directional_summary">Use the \“<xliff:g id="directional_label" example="7,8,9,u,o,j,k,l">%s</xliff:g>\” keys to move the mouse pointer</string>
+    <!-- Summary text for Mouse keys click image. [CHAR LIMIT=NONE] -->
+    <string name="mouse_keys_click_summary">Use the \“<xliff:g id="click_label" example="i">%s</xliff:g>\” key to click the primary mouse button</string>
+    <!-- Summary text for Mouse keys press hold image. [CHAR LIMIT=NONE] -->
+    <string name="mouse_keys_press_hold_summary">Use the \“<xliff:g id="press_hold_label" example="m">%s</xliff:g>\” key to press &amp; hold the primary mouse button</string>
+    <!-- Summary text for Mouse keys release image. [CHAR LIMIT=NONE] -->
+    <string name="mouse_keys_release_summary">Use the \“<xliff:g id="release_label" example=",">%s</xliff:g>\” key to release the primary mouse button</string>
+    <!-- Summary text for Mouse keys toggle scroll image. [CHAR LIMIT=NONE] -->
+    <string name="mouse_keys_toggle_scroll_summary">Use the \“<xliff:g id="release_label_1" example=".">%1$s</xliff:g>\” key to toggle scroll mode. This will make the \“<xliff:g id="release_label_2" example="8, k, o, u">%2$s</xliff:g>\” keys scroll the view top, down, left or right</string>
+    <!-- Summary text for Mouse keys click secondary button image. [CHAR LIMIT=NONE] -->
+    <string name="mouse_keys_release2_summary">Use the \“<xliff:g id="release_2_label" example="/">%s</xliff:g>\” key to click the secondary mouse button</string>
+
     <!-- Title for the button to trigger the 'keyboard shortcuts helper' dialog. [CHAR LIMIT=35] -->
     <string name="keyboard_shortcuts_helper">Keyboard shortcuts</string>
     <!-- Summary text for the 'keyboard shortcuts helper' dialog. [CHAR LIMIT=100] -->
@@ -4705,9 +4727,13 @@
     <!-- Summary for the button to trigger the 'Physical keyboard accessibility' page. [CHAR LIMIT=NONE] -->
     <string name="keyboard_a11y_settings_summary">Sticky keys, Bounce keys, Mouse keys</string>
     <!-- Title for the keyboard repeat key option. [CHAR LIMIT=60] -->
-    <string name="keyboard_repeat_key_title">Repeat Keys</string>
+    <string name="keyboard_repeat_keys_title">Repeat Keys</string>
+    <!-- Title for the keyboard repeat key timeout option. [CHAR LIMIT=60] -->
+    <string name="keyboard_repeat_keys_timeout_title">Delay before repeat</string>
+    <!-- Title for the keyboard repeat key delay option. [CHAR LIMIT=60] -->
+    <string name="keyboard_repeat_keys_delay_title">Repeat Rate</string>
     <!-- Summary for the keyboard repeat key option. [CHAR LIMIT=NONE] -->
-    <string name="keyboard_repeat_key_summary">Hold down a key to repeat its character until the key is released</string>
+    <string name="keyboard_repeat_keys_summary">Hold down a key to repeat its character until the key is released</string>
 
     <!-- Title text for per IME subtype keyboard layout. [CHAR LIMIT=35] -->
     <string name="ime_label_title"><xliff:g id="ime_label" example="Gboard">%s</xliff:g> layout</string>
@@ -5130,18 +5156,18 @@
     <string name="accessibility_tutorial_dialog_twofinger_doubletap_instruction">To start and stop magnification, quickly tap the screen twice with %1$d fingers</string>
     <!-- Instruction for the accessibility tutorial dialog in accessibility service with quick settings shortcut. [CHAR LIMIT=NONE]-->
     <string name="accessibility_tutorial_dialog_message_quick_setting">{count, plural,
-      =1    {To use this feature, swipe down from the top of your screen. Then, find the {featureName} tile.}
-      other {To use this feature, swipe down from the top of your screen with # fingers. Then, find the {featureName} tile.}
-    }</string>
+        =1    {To use this feature, swipe down from the top of your screen. Then, find the {featureName} tile.}
+        other {To use this feature, swipe down from the top of your screen with # fingers. Then, find the {featureName} tile.}
+        }</string>
     <!-- Warning for the accessibility shortcut type that is not available immediately during device setup when chosen, but will be available after setup. [CHAR LIMIT=NONE]-->
     <string name="accessibility_tutorial_dialog_shortcut_unavailable_in_suw">This shortcut will be available after you finish device setup.</string>
     <!-- Message for the accessibility tutorial dialog when user enables an accessibility service while using gesture navigation and touch exploration is not enabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_tutorial_dialog_message_gesture">To use this feature, swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold.</string>
     <!-- Instruction for the accessibility tutorial dialog when user enables an accessibility service while using gesture navigation. [CHAR LIMIT=NONE] -->
     <string name="accessibility_tutorial_dialog_gesture_shortcut_instruction">{count, plural,
-      =1    {To use this feature, swipe up from the bottom of your screen}
-      other {To use this feature, swipe up with # fingers from the bottom of your screen}
-    }</string>
+        =1    {To use this feature, swipe up from the bottom of your screen}
+        other {To use this feature, swipe up with # fingers from the bottom of your screen}
+        }</string>
     <!-- Message for the accessibility tutorial dialog when user enables an accessibility service while using gesture navigation and touch exploration is enabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_tutorial_dialog_message_gesture_talkback">To use this feature, swipe up from the bottom of the screen with 3 fingers.\n\nTo switch between features, swipe up with 3 fingers and hold.</string>
     <!-- Message for the accessibility tutorial dialog when user chooses gesture navigation in navigation settings, an accessibility service is using the accessibility button, and touch exploration is disabled. [CHAR LIMIT=NONE] -->
@@ -5174,9 +5200,9 @@
     <string name="accessibility_shortcut_edit_dialog_summary_software">Tap the accessibility button <xliff:g id="accessibility_icon" example="[Icon]">%s</xliff:g> at the bottom of your screen. To switch between features, touch &amp; hold the accessibility button.</string>
     <!-- Summary for gesture shortcut option -->
     <string name="accessibility_shortcut_edit_dialog_summary_gesture">{count, plural,
-      =1      {Swipe up from the bottom of your screen. To switch between features, swipe up and hold.}
-      other   {Swipe up with # fingers from the bottom of your screen. To switch between features, swipe up with # fingers and hold.}
-    }</string>
+        =1      {Swipe up from the bottom of your screen. To switch between features, swipe up and hold.}
+        other   {Swipe up with # fingers from the bottom of your screen. To switch between features, swipe up with # fingers and hold.}
+        }</string>
     <!-- Summary for software shortcut in accessibility edit shortcut dialog when user had enabled the accessibility floating button mode (Floating over other apps). [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_edit_dialog_summary_software_floating"><annotation id="link">More options</annotation></string>
     <!-- Footer to show help link content description. [CHAR LIMIT=NONE] -->
@@ -5185,14 +5211,14 @@
     <string name="accessibility_shortcut_edit_dialog_title_quick_settings">Quick Settings</string>
     <!-- Summary for quick settings shortcut option in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_edit_dialog_summary_quick_settings">{count, plural,
-      =1      {Swipe down from the top of your screen}
-      other   {Swipe down with # fingers from the top of your screen}
-    }</string>
+        =1      {Swipe down from the top of your screen}
+        other   {Swipe down with # fingers from the top of your screen}
+        }</string>
     <!-- Summary for quick settings shortcut option in accessibility edit shortcut dialog in Setup Wizard. [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_edit_dialog_summary_quick_settings_suw">{count, plural,
-      =1      {Swipe down from the top of your screen. This shortcut will be available after you finish device setup.}
-      other   {Swipe down with # fingers from the top of your screen. This shortcut will be available after you finish device setup.}
-    }</string>
+        =1      {Swipe down from the top of your screen. This shortcut will be available after you finish device setup.}
+        other   {Swipe down with # fingers from the top of your screen. This shortcut will be available after you finish device setup.}
+        }</string>
     <!-- Shown as one of the item in the chosen accessibility shortcut types list presented as a label next to the shortcut toggle. [CHAR LIMIT=NONE] -->
     <string name="accessibility_feature_shortcut_setting_summary_quick_settings">Quick Settings</string>
     <!-- Title for hardware shortcut in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
@@ -5612,25 +5638,25 @@
 
     <!-- Subtitle for the accessibility preference to configure feature that performs click action soon after mouse/trackpad pointer stops moving, in case delay before click is extremely short. Placeholder will be set to the number of milliseconds to which the delay amounts. [CHAR LIMIT=NONE] -->
     <string name="accessibilty_autoclick_preference_subtitle_short_delay">{count, plural,
-      =1      {Short ({time} second)}
-      other   {Short ({time} seconds)}
-    }</string>
+        =1      {Short ({time} second)}
+        other   {Short ({time} seconds)}
+        }</string>
     <!-- Subtitle for the accessibility preference to configure feature that performs click action soon after mouse/trackpad pointer stops moving, in case delay before click is extremely short. Placeholder will be set to the number of milliseconds to which the delay amounts. [CHAR LIMIT=NONE] -->
     <string name="accessibilty_autoclick_preference_subtitle_medium_delay">{count, plural,
-      =1      {Medium ({time} second)}
-      other   {Medium ({time} seconds)}
-    }</string>
+        =1      {Medium ({time} second)}
+        other   {Medium ({time} seconds)}
+        }</string>
     <!-- Subtitle for the accessibility preference to configure feature that performs click action soon after mouse/trackpad pointer stops moving, in case delay before click is extremely short. Placeholder will be set to the number of milliseconds to which the delay amounts. [CHAR LIMIT=NONE] -->
     <string name="accessibilty_autoclick_preference_subtitle_long_delay">{count, plural,
-      =1      {Long ({time} second)}
-      other   {Long ({time} seconds)}
-    }</string>
+        =1      {Long ({time} second)}
+        other   {Long ({time} seconds)}
+        }</string>
 
     <!-- Summary for autoclick seekbar settings preference when user selected custom item. [CHAR LIMIT=35] -->
     <string name="accessibilty_autoclick_delay_unit_second">{count, plural,
-      =1      {{time} second}
-      other   {{time} seconds}
-    }</string>
+        =1      {{time} second}
+        other   {{time} seconds}
+        }</string>
 
     <!-- Title for accessibility menu item to launch a settings activity. [CHAR LIMIT=15] -->
     <string name="accessibility_menu_item_settings">Settings</string>
@@ -5792,15 +5818,15 @@
     <string name="print_settings_summary_no_service">Off</string>
 
     <string name="print_settings_summary">{count, plural,
-      =1      {1 print service on}
-      other   {# print services on}
-    }</string>
+        =1      {1 print service on}
+        other   {# print services on}
+        }</string>
 
     <!-- Print setting summary in settings screenm indicating how many print jobs are active [CHAR LIMIT=None] -->
     <string name="print_jobs_summary">{count, plural,
-      =1      {1 print job}
-      other   {# print jobs}
-    }</string>
+        =1      {1 print job}
+        other   {# print jobs}
+        }</string>
 
     <!-- Title for print service settings screen [CHAR LIMIT=25] -->
     <string name="print_settings_title">Print services</string>
@@ -5885,7 +5911,7 @@
     <string name="power_usage_summary">What has been using the battery</string>
     <!-- Display the battery level and status [CHAR_LIMIT=60] -->
     <string name="power_usage_level_and_status"><xliff:g id="level">%1$s</xliff:g>
-            - <xliff:g id="status">%2$s</xliff:g></string>
+        - <xliff:g id="status">%2$s</xliff:g></string>
     <!-- Display time remaining until battery is discharged [CHAR_LIMIT=60] -->
     <string name="power_discharge_remaining"><xliff:g id="remain">%1$s</xliff:g> remaining</string>
     <!-- Display time remaining until battery is charged [CHAR_LIMIT=60] -->
@@ -6003,30 +6029,30 @@
     <string name="battery_tip_dialog_message_footer">Includes high-power background activity</string>
     <!-- Title for restricted app preference, showing how many app need to be restricted [CHAR LIMIT=NONE] -->
     <string name="battery_tip_restrict_title">{count, plural,
-      =1      {Restrict # app}
-      other   {Restrict # apps}
-    }</string>
+        =1      {Restrict # app}
+        other   {Restrict # apps}
+        }</string>
     <!-- Title for restricted app preference, showing how many app been restricted [CHAR LIMIT=NONE] -->
     <string name="battery_tip_restrict_handled_title">{count, plural,
-      =1      {{label} recently restricted}
-      other   {# apps recently restricted}
-    }</string>
+        =1      {{label} recently restricted}
+        other   {# apps recently restricted}
+        }</string>
     <!-- Summary for restricted app preference, showing the impact of the apps [CHAR LIMIT=NONE] -->
     <string name="battery_tip_restrict_summary">{count, plural,
-      =1      {{label} has high background battery usage}
-      other   {# apps have high background battery usage}
-    }</string>
+        =1      {{label} has high background battery usage}
+        other   {# apps have high background battery usage}
+        }</string>
     <!-- Summary for restricted app preference, showing the impact of the apps [CHAR LIMIT=NONE] -->
     <string name="battery_tip_restrict_handled_summary">{count, plural,
-      =1      {This app can\'t run in the background}
-      other   {These apps can\'t run in the background}
-    }</string>
+        =1      {This app can\'t run in the background}
+        other   {These apps can\'t run in the background}
+        }</string>
 
     <!-- Title for dialog to restrict the app [CHAR LIMIT=NONE] -->
     <string name="battery_tip_restrict_app_dialog_title">{count, plural,
-      =1      {Restrict app?}
-      other   {Restrict # apps?}
-    }</string>
+        =1      {Restrict app?}
+        other   {Restrict # apps?}
+        }</string>
     <!-- Message for battery tip dialog to show the info to restrict the app [CHAR LIMIT=NONE] -->
     <string name="battery_tip_restrict_app_dialog_message">To save battery, stop <xliff:g id="app">%1$s</xliff:g> from using battery in the background. This app may not work properly and notifications may be delayed.</string>
     <!-- Message for battery tip dialog to show the info to restrict the app, below it app list will be shown as a view [CHAR LIMIT=NONE] -->
@@ -6060,9 +6086,9 @@
     <string name="restricted_app_title">Restricted apps</string>
     <!-- Summary for restricted app preference, clicking it will goes to restricted app list [CHAR LIMIT=NONE] -->
     <string name="restricted_app_summary">{count, plural,
-      =1      {Limiting battery usage for # app}
-      other   {Limiting battery usage for # apps}
-    }</string>
+        =1      {Limiting battery usage for # app}
+        other   {Limiting battery usage for # apps}
+        }</string>
 
     <!-- Summary for restricted app to show the restriction time [CHAR LIMIT=NONE] -->
     <string name="restricted_app_time_summary">Restricted <xliff:g id="time" example="5 days ago">%1$s</xliff:g></string>
@@ -6082,9 +6108,9 @@
 
     <!-- Summary for battery manager, showing app restricted -->
     <string name="battery_manager_app_restricted">{count, plural,
-      =1      {# app restricted}
-      other   {# apps restricted}
-    }</string>
+        =1      {# app restricted}
+        other   {# apps restricted}
+        }</string>
 
     <!-- Summary for top level battery tile if battery is not present. [CHAR LIMIT=NONE] -->
     <string name="battery_missing_message">Problem reading the battery meter.</string>
@@ -6572,9 +6598,9 @@
     <string name="remove_credential_management_app_dialog_message">This app won\u2019t manage certificates, but it will stay on your device. Any certificates installed by the app will be uninstalled.</string>
     <!-- List item found in the credential management app's authentication policy [CHAR LIMIT=NONE] -->
     <string name="number_of_urls">{count, plural,
-      =1      {# URL}
-      other   {# URLs}
-    }</string>
+        =1      {# URL}
+        other   {# URLs}
+        }</string>
 
     <!-- Sound settings screen, setting check box label -->
     <string name="emergency_tone_title">Emergency dialing signal</string>
@@ -6676,9 +6702,9 @@
 
     <!-- app summary of notification app list screen [CHAR LIMIT=100] -->
     <string name="notification_history_count">{count, plural,
-      =1      {# notification}
-      other   {# notifications}
-    }</string>
+        =1      {# notification}
+        other   {# notifications}
+        }</string>
 
     <!-- Category title for phone call's ringtone and vibration settings in the Sound Setting.
          [CHAR LIMIT=40] -->
@@ -7099,9 +7125,9 @@
     <string name="done_button">Done</string>
     <!-- Title of Dialog warning users of SSL monitoring. [CHAR LIMIT=NONE] -->
     <string name="ssl_ca_cert_dialog_title">{count, plural,
-      =1      {Trust or remove certificate}
-      other   {Trust or remove certificates}
-    }</string>
+        =1      {Trust or remove certificate}
+        other   {Trust or remove certificates}
+        }</string>
     <!-- Text of message to show to device owner user whose administrator has installed a SSL CA Cert.  [CHAR LIMIT=NONE] -->
     <string name="ssl_ca_cert_info_message_device_owner"> {numberOfCertificates, plural,
         =1 {{orgName} has installed a certificate authority on your device, which may allow them to monitor your device network activity, including emails, apps, and secure websites.\n\nFor more information about this certificate, contact your admin.}
@@ -7116,9 +7142,9 @@
     <string name="ssl_ca_cert_warning_message">A third party is capable of monitoring your network activity, including emails, apps, and secure websites.\n\nA trusted credential installed on your device is making this possible.</string>
     <!-- Label on button that will take the user to the Trusted Credentials settings page.  [CHAR LIMIT=NONE]-->
     <string name="ssl_ca_cert_settings_button">{count, plural,
-      =1      {Check certificate}
-      other   {Check certificates}
-    }</string>
+        =1      {Check certificate}
+        other   {Check certificates}
+        }</string>
 
     <!-- User settings screen title [CHAR LIMIT=40] -->
     <string name="user_settings_title">Users</string>
@@ -8076,9 +8102,9 @@
     <!-- Zen Modes: Summary for the Do not Disturb option that describes how many automatic rules (schedules) are enabled [CHAR LIMIT=NONE]-->
     <string name="zen_mode_settings_schedules_summary">
         {count, plural,
-            =0    {None}
-            =1    {1 schedule set}
-            other {# schedules set}
+        =0    {None}
+        =1    {1 schedule set}
+        other {# schedules set}
         }
     </string>
 
@@ -8114,20 +8140,20 @@
     <!-- Modes: Summary for the modes segment, when at least one mode is active. [CHAR LIMIT=NONE]-->
     <string name="zen_modes_summary_some_active">
         {count, plural, offset:2
-            =0    {}
-            =1    {{mode_1} is active}
-            =2    {{mode_1} and {mode_2} are active}
-            =3    {{mode_1}, {mode_2}, and {mode_3} are active}
-            other {{mode_1}, {mode_2}, and # more are active}
+        =0    {}
+        =1    {{mode_1} is active}
+        =2    {{mode_1} and {mode_2} are active}
+        =3    {{mode_1}, {mode_2}, and {mode_3} are active}
+        other {{mode_1}, {mode_2}, and # more are active}
         }
     </string>
 
     <!-- Modes: Summary for the modes segment, when no modes are active. [CHAR LIMIT=NONE]-->
     <string name="zen_modes_summary_none_active">
         {count, plural,
-            =0    {}
-            =1    {1 mode can turn on automatically}
-            other {# modes can turn on automatically}
+        =0    {}
+        =1    {1 mode can turn on automatically}
+        other {# modes can turn on automatically}
         }
     </string>
 
@@ -8428,25 +8454,25 @@
     <!--  Do not disturb: Summary for zen mode duration setting indicating how long dnd will last when dnd is manually toggled on [CHAR LIMIT=NONE] -->
     <string name="zen_mode_duration_summary_time_hours">
         {count, plural,
-            =1    {1 hour}
-            other {# hours}
+        =1    {1 hour}
+        other {# hours}
         }
     </string>
 
     <!--  Do not disturb: Summary for zen mode duration setting indicating how long dnd will last when toggled on -->
     <string name="zen_mode_duration_summary_time_minutes">
         {count, plural,
-            =1    {1 minute}
-            other {# minutes}
+        =1    {1 minute}
+        other {# minutes}
         }
     </string>
 
     <!-- Summary for the Sound Do not Disturb option when DND isn't currently on. [CHAR LIMIT=NONE]-->
     <string name="zen_mode_sound_summary_off">
         {count, plural,
-            =0    {Off}
-            =1    {Off / 1 schedule can turn on automatically}
-            other {Off / # schedules can turn on automatically}
+        =0    {Off}
+        =1    {Off / 1 schedule can turn on automatically}
+        other {Off / # schedules can turn on automatically}
         }
     </string>
 
@@ -8789,9 +8815,9 @@
 
     <!-- [CHAR LIMIT=100] summary text on link to 'all conversations' page, some conversations are priority -->
     <string name="priority_conversation_count">{count, plural,
-      =1      {# priority conversation}
-      other   {# priority conversations}
-    }</string>
+        =1      {# priority conversation}
+        other   {# priority conversations}
+        }</string>
 
     <!-- [CHAR LIMIT=100] preference category title -->
     <string name="important_conversations">Priority conversations</string>
@@ -8888,13 +8914,13 @@
 
     <!-- app summary of notification app list screen [CHAR LIMIT=100] -->
     <string name="notifications_sent_daily">{count, plural,
-      =1      {About # notification per day}
-      other   {About # notifications per day}
-    }</string>
+        =1      {About # notification per day}
+        other   {About # notifications per day}
+        }</string>
     <string name="notifications_sent_weekly">{count, plural,
-      =1      {About # notification per week}
-      other   {About # notifications per week}
-    }</string>
+        =1      {About # notification per week}
+        other   {About # notifications per week}
+        }</string>
     <!-- app summary of notification app list screen [CHAR LIMIT=100] -->
     <string name="notifications_sent_never">Never</string>
 
@@ -8934,7 +8960,7 @@
     <!-- Title for a warning message about security implications of enabling a notification
           listener, displayed as a dialog message. [CHAR LIMIT=NONE] -->
     <string name="notification_listener_security_warning_title">Allow notification access for
-         <xliff:g id="service" example="NotificationReader">%1$s</xliff:g>?</string>
+        <xliff:g id="service" example="NotificationReader">%1$s</xliff:g>?</string>
     <!-- Summary for a warning message about security implications of enabling a notification
           listener, displayed as a dialog message. [CHAR LIMIT=NONE] -->
     <string name="notification_listener_security_warning_summary">
@@ -8998,7 +9024,7 @@
     <!-- Title for a warning message about security implications of enabling a VR
           listener, displayed as a dialog message. [CHAR LIMIT=NONE] -->
     <string name="vr_listener_security_warning_title">Allow VR service access for
-         <xliff:g id="service" example="VrCore">%1$s</xliff:g>?</string>
+        <xliff:g id="service" example="VrCore">%1$s</xliff:g>?</string>
     <!-- Summary for a warning message about security implications of enabling a VR
           listener, displayed as a dialog message. [CHAR LIMIT=NONE] -->
     <string name="vr_listener_security_warning_summary">
@@ -9105,9 +9131,9 @@
 
     <!-- Summary of preference to manage connected work and personal apps, informing the user how many apps are connected -->
     <string name="interact_across_profiles_number_of_connected_apps">{count, plural,
-      =1      {# app connected}
-      other   {# apps connected}
-    }</string>
+        =1      {# app connected}
+        other   {# apps connected}
+        }</string>
 
     <!-- Banner title. This banner lets a user know that they need to install an app in their
     work profile in order to connect it to the corresponding personal app.
@@ -9179,9 +9205,9 @@
 
     <!-- [CHAR LIMIT=NONE] Footer listing a count of deleted channels. -->
     <string name="deleted_channels">{count, plural,
-      =1      {# category deleted}
-      other   {# categories deleted}
-    }</string>
+        =1      {# category deleted}
+        other   {# categories deleted}
+        }</string>
 
     <!-- [CHAR LIMIT=NONE] App notification settings: Block option title -->
     <string name="app_notification_block_title">Block all</string>
@@ -9342,9 +9368,9 @@
     <!-- [CHAR LIMIT=NONE] Zen mode settings: Number of conversations allowed to bypass DND -->
     <string name="zen_mode_conversations_count">
         {count, plural,
-            =0    {None}
-            =1    {1 conversation}
-            other {# conversations}
+        =0    {None}
+        =1    {1 conversation}
+        other {# conversations}
         }
     </string>
 
@@ -9376,11 +9402,11 @@
     <!-- Zen mode settings: Starred contacts summary [CHAR LIMIT=NONE] -->
     <string name="zen_mode_starred_contacts_summary_contacts">
         {count, plural, offset:2
-            =0    {None}
-            =1    {{contact_1}}
-            =2    {{contact_1} and {contact_2}}
-            =3    {{contact_1}, {contact_2}, and {contact_3}}
-            other {{contact_1}, {contact_2}, and # others}
+        =0    {None}
+        =1    {{contact_1}}
+        =2    {{contact_1} and {contact_2}}
+        =3    {{contact_1}, {contact_2}, and {contact_3}}
+        other {{contact_1}, {contact_2}, and # others}
         }
     </string>
 
@@ -9407,9 +9433,9 @@
     <!-- Zen mode settings: Senders in contacts can bypass DND summary summary [CHAR LIMIT=NONE] -->
     <string name="zen_mode_contacts_count">
         {count, plural,
-            =0    {None}
-            =1    {1 contact}
-            other {# contacts}
+        =0    {None}
+        =1    {1 contact}
+        other {# contacts}
         }
     </string>
     <!-- [CHAR LIMIT=40] Zen mode settings: Calls or messages option value: From anyone -->
@@ -9485,11 +9511,11 @@
     <!-- [CHAR LIMIT=NONE] Zen mode settings: Lists apps that can bypass DND. For example, "Nest, Messages, and 2 more can interrupt". -->
     <string name="zen_mode_apps_subtext">
         {count, plural, offset:2
-            =0    {No apps can interrupt}
-            =1    {{app_1} can interrupt}
-            =2    {{app_1} and {app_2} can interrupt}
-            =3    {{app_1}, {app_2}, and {app_3} can interrupt}
-            other {{app_1}, {app_2}, and # more can interrupt}
+        =0    {No apps can interrupt}
+        =1    {{app_1} can interrupt}
+        =2    {{app_1} and {app_2} can interrupt}
+        =3    {{app_1}, {app_2}, and {app_3} can interrupt}
+        other {{app_1}, {app_2}, and # more can interrupt}
         }
     </string>
     <!-- Modes: Entry in the "apps that can bypass DND" list that corresponds to a work profile app (e.g. "Chrome (Work)" [CHAR LIMIT=15]. -->
@@ -9524,11 +9550,11 @@
     <!-- [CHAR LIMIT=NONE] Zen mode settings: Lists apps that can bypass DND. For example, "Nest, Messages, and 2 more can interrupt". -->
     <string name="zen_mode_bypassing_apps_subtext">
         {count, plural, offset:2
-            =0    {No apps can interrupt}
-            =1    {{app_1} can interrupt}
-            =2    {{app_1} and {app_2} can interrupt}
-            =3    {{app_1}, {app_2}, and {app_3} can interrupt}
-            other {{app_1}, {app_2}, and # more can interrupt}
+        =0    {No apps can interrupt}
+        =1    {{app_1} can interrupt}
+        =2    {{app_1} and {app_2} can interrupt}
+        =3    {{app_1}, {app_2}, and {app_3} can interrupt}
+        other {{app_1}, {app_2}, and # more can interrupt}
         }
     </string>
     <!-- [CHAR LIMIT=100] Zen mode settings: Allow apps to bypass DND title-->
@@ -9542,11 +9568,11 @@
     <!-- [CHAR LIMIT=NONE] Zen mode settings: Summary for sound interruption settings -->
     <string name="zen_mode_other_sounds_summary">
         {count, plural, offset:2
-            =0    {Nothing can interrupt}
-            =1    {{sound_category_1} can interrupt}
-            =2    {{sound_category_1} and {sound_category_2} can interrupt}
-            =3    {{sound_category_1}, {sound_category_2}, and {sound_category_3} can interrupt}
-            other {{sound_category_1}, {sound_category_2}, and # more can interrupt}
+        =0    {Nothing can interrupt}
+        =1    {{sound_category_1} can interrupt}
+        =2    {{sound_category_1} and {sound_category_2} can interrupt}
+        =3    {{sound_category_1}, {sound_category_2}, and {sound_category_3} can interrupt}
+        other {{sound_category_1}, {sound_category_2}, and # more can interrupt}
         }
     </string>
     <!-- [CHAR LIMIT=120] Zen mode settings: No sounds are allowed to bypass DND -->
@@ -9590,14 +9616,14 @@
     <string name="zen_mode_summary_alarms_only_indefinite">Change to alarms only indefinitely</string>
     <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: switch to alarms only for < 60 minutes. -->
     <string name="zen_mode_summary_alarms_only_by_minute">{count, plural,
-      =1      {Change to alarms only for one minute until {time}}
-      other   {Change to alarms only for # minutes (until {time})}
-    }</string>
+        =1      {Change to alarms only for one minute until {time}}
+        other   {Change to alarms only for # minutes (until {time})}
+        }</string>
     <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: switch to alarms only for N hours. -->
     <string name="zen_mode_summary_alarms_only_by_hour">{count, plural,
-      =1      {Change to alarms only for one hour until {time}}
-      other   {Change to alarms only for # hours until {time}}
-    }</string>
+        =1      {Change to alarms only for one hour until {time}}
+        other   {Change to alarms only for # hours until {time}}
+        }</string>
     <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: switch to alarms only until a specific time. -->
     <string name="zen_mode_summary_alarms_only_by_time">Change to alarms only until <xliff:g id="formattedTime" example="10:00 PM">%1$s</xliff:g></string>
     <!-- [CHAR LIMIT=NONE] Zen mode summary spoken when changing mode by voice: Turn on all notifications. -->
@@ -9819,13 +9845,13 @@
 
     <!-- Title, message and button for verified links dialog. -->
     <string name="app_launch_verified_links_title">{count, plural,
-      =1      {# verified link}
-      other   {# verified links}
-    }</string>
+        =1      {# verified link}
+        other   {# verified links}
+        }</string>
     <string name="app_launch_verified_links_message">{count, plural,
-      =1      {This link is verified and automatically opens in this app.}
-      other   {These links are verified and automatically open in this app.}
-    }</string>
+        =1      {This link is verified and automatically opens in this app.}
+        other   {These links are verified and automatically open in this app.}
+        }</string>
     <!-- OK button for verified links dialog. [CHAR LIMIT=20] -->
     <string name="app_launch_dialog_ok">OK</string>
     <!-- Info icon description of the verified links. [CHAR LIMIT=NONE] -->
@@ -9838,9 +9864,9 @@
 
     <!-- Title and button for supported links dialog. -->
     <string name="app_launch_supported_links_title">{count, plural,
-      =1      {# supported link}
-      other   {# supported links}
-    }</string>
+        =1      {# supported link}
+        other   {# supported links}
+        }</string>
     <!-- Add button for supported links dialog. [CHAR LIMIT=20] -->
     <string name="app_launch_supported_links_add">Add</string>
     <!-- The subtext of the link title in supported links dialog. [CHAR LIMIT=30] -->
@@ -9876,15 +9902,15 @@
 
     <!-- Permissions preference summary [CHAR LIMIT=40] -->
     <string name="notifications_categories_off">{count, plural,
-      =1      {# category turned off}
-      other   {# categories turned off}
-    }</string>
+        =1      {# category turned off}
+        other   {# categories turned off}
+        }</string>
 
     <!-- Runtime permissions preference summary.  Number of additional permissions granted. [CHAR LIMIT=40] -->
     <string name="runtime_permissions_additional_count">{count, plural,
-      =1      {# additional permission}
-      other   {# additional permissions}
-    }</string>
+        =1      {# additional permission}
+        other   {# additional permissions}
+        }</string>
 
     <!-- Runtime permissions preference summary, shown when the app has no permissions granted. [CHAR LIMIT=40] -->
     <string name="runtime_permissions_summary_no_permissions_granted">No permissions granted</string>
@@ -9906,9 +9932,9 @@
 
     <!-- Summary of number of apps that have not been used for months. [CHAR LIMIT=40]-->
     <string name="unused_apps_summary">{count, plural,
-      =1      {# unused app}
-      other   {# unused apps}
-    }</string>
+        =1      {# unused app}
+        other   {# unused apps}
+        }</string>
 
     <!-- Label for category for unused app settings for an app. [CHAR LIMIT=40]-->
     <string name="unused_apps_category">Unused app settings</string>
@@ -9976,9 +10002,9 @@
 
     <!-- Summary for allow app to open supported links [CHAR LIMIT=42] -->
     <string name="app_link_open_always_summary">{count, plural,
-      =1      {App claims to handle # link}
-      other   {App claims to handle # links}
-    }</string>
+        =1      {App claims to handle # link}
+        other   {App claims to handle # links}
+        }</string>
 
     <!-- Footer of open supported links settings [CHAR LIMIT=NONE] -->
     <string name="open_supported_links_footer">App claims to handle following links:</string>
@@ -10248,9 +10274,9 @@
 
     <!-- Description of number of apps using memory [CHAR LIMIT=NONE] -->
     <string name="memory_usage_apps_summary">{count, plural,
-      =1      {1 app used memory in the last {time}}
-      other   {# apps used memory in the last {time}}
-    }</string>
+        =1      {1 app used memory in the last {time}}
+        other   {# apps used memory in the last {time}}
+        }</string>
 
     <!-- Label for toggle that enables the profiling/aggregating of memory usage [CHAR LIMIT=80]-->
     <string name="force_enable_pss_profiling_title">Enable memory usage profiling</string>
@@ -10676,9 +10702,9 @@
 
     <!-- Description of number of apps allowed to ignore Data Saver [CHAR LIMIT=NONE] -->
     <string name="data_saver_unrestricted_summary">{count, plural,
-      =1      {1 app allowed to use unrestricted mobile data when Data Saver is on}
-      other   {# apps allowed to use unrestricted mobile data when Data Saver is on}
-    }</string>
+        =1      {1 app allowed to use unrestricted mobile data when Data Saver is on}
+        other   {# apps allowed to use unrestricted mobile data when Data Saver is on}
+        }</string>
 
     <!-- Data usage title text [CHAR LIMIT=30] -->
     <string name="data_usage_title">Primary data</string>
@@ -10703,9 +10729,9 @@
 
     <!-- Informational text about time left in billing cycle [CHAR LIMIT=60] -->
     <string name="billing_cycle_days_left">{count, plural,
-      =1      {# day left}
-      other   {# days left}
-    }</string>
+        =1      {# day left}
+        other   {# days left}
+        }</string>
 
     <!-- Informational text about time left in billing cycle [CHAR LIMIT=60] -->
     <string name="billing_cycle_none_left">No time remaining</string>
@@ -11282,9 +11308,9 @@
     <string name="enterprise_privacy_apps_count_estimation_info">Number of apps is estimated. It may not include apps installed outside of the Play Store.</string>
     <!-- Summary indicating the number of apps that a label (e.g. installed apps or apps granted a particular permission) refers to. The number shown is a minimum as there may be additional apps we do not know about. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_number_packages_lower_bound">{count, plural,
-      =1      {Minimum # app}
-      other   {Minimum # apps}
-    }</string>
+        =1      {Minimum # app}
+        other   {Minimum # apps}
+        }</string>
     <!-- Label indicating that the admin granted one or more apps access to the device's location. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_location_access">Location permissions</string>
     <!-- Label indicating that the admin granted one or more apps access to the microphone. [CHAR LIMIT=NONE] -->
@@ -11295,9 +11321,9 @@
     <string name="enterprise_privacy_enterprise_set_default_apps">Default apps</string>
     <!-- Summary indicating the number of apps that a label (e.g. installed apps or apps granted a particular permission) refers to. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_number_packages">{count, plural,
-      =1      {# app}
-      other   {# apps}
-    }</string>
+        =1      {# app}
+        other   {# apps}
+        }</string>
     <!-- Label explaining that the current input method was set by the admin. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_input_method">Default keyboard</string>
     <!-- Summary indicating the input method set by the admin. [CHAR LIMIT=NONE] -->
@@ -11318,9 +11344,9 @@
     <string name="enterprise_privacy_ca_certs_work">Trusted credentials in your work profile</string>
     <!-- Summary indicating the number of trusted CA certificates installed by the admin. The number shown is a minimum as there may be additional CA certificates we do not know about. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_number_ca_certs">{count, plural,
-      =1      {Minimum # CA certificate}
-      other   {Minimum # CA certificates}
-    }</string>
+        =1      {Minimum # CA certificate}
+        other   {Minimum # CA certificates}
+        }</string>
     <!-- Label explaining that the admin can lock the device and change the user's password. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_lock_device">Admin can lock the device and reset password</string>
     <!-- Label explaining that the admin can wipe the device remotely. [CHAR LIMIT=NONE] -->
@@ -11331,9 +11357,9 @@
     <string name="enterprise_privacy_failed_password_wipe_work">Failed password attempts before deleting work profile data</string>
     <!-- Summary indicating the number of mistyped passwords after which the device or work profile wipes itself. [CHAR LIMIT=NONE] -->
     <string name="enterprise_privacy_number_failed_password_wipe">{count, plural,
-      =1      {# attempt}
-      other   {# attempts}
-    }</string>
+        =1      {# attempt}
+        other   {# attempts}
+        }</string>
     <!-- Message indicating that the device is enterprise-managed by a Device Owner [CHAR LIMIT=NONE] -->
     <string name="do_disclosure_generic">This device is managed by your organization.</string>
     <!-- Message indicating that the device is enterprise-managed by a Device Owner [CHAR LIMIT=NONE] -->
@@ -11396,25 +11422,25 @@
     <!-- Strings for displaying which applications were set as default for specific actions. -->
     <!-- Title for the apps that have been set as default handlers of camera-related intents. [CHAR LIMIT=30] -->
     <string name="default_camera_app_title">{count, plural,
-      =1      {Camera app}
-      other   {Camera apps}
-    }</string>
+        =1      {Camera app}
+        other   {Camera apps}
+        }</string>
     <!-- Title for the app that has been set as default handler of calendar-related intents. [CHAR LIMIT=30] -->
     <string name="default_calendar_app_title">Calendar app</string>
     <!-- Title for the app that has been set as default handler of contacts-related intents. [CHAR LIMIT=30] -->
     <string name="default_contacts_app_title">Contacts app</string>
     <!-- Title for the apps that have been set as default handlers of new email intents. [CHAR LIMIT=30] -->
     <string name="default_email_app_title">{count, plural,
-      =1      {Email client app}
-      other   {Email client apps}
-    }</string>
+        =1      {Email client app}
+        other   {Email client apps}
+        }</string>
     <!-- Title for the app that has been set as default handler of geo-related intents. [CHAR LIMIT=30] -->
     <string name="default_map_app_title">Map app</string>
     <!-- Title for the apps that have been set as default handlers of call-related intents. [CHAR LIMIT=30] -->
     <string name="default_phone_app_title">{count, plural,
-      =1      {Phone app}
-      other   {Phone apps}
-    }</string>
+        =1      {Phone app}
+        other   {Phone apps}
+        }</string>
     <!-- Template for concatenating two app names -->
     <string name="app_names_concatenation_template_2"><xliff:g id="first_app_name">%1$s</xliff:g>, <xliff:g id="second_app_name">%2$s</xliff:g></string>
     <!-- Template for concatenating three app names -->
@@ -11509,9 +11535,9 @@
     <!-- Summary for passwords settings that shows how many passwords are saved for each autofill
          service. [CHAR LIMIT=NONE] -->
     <string name="autofill_passwords_count">{count, plural,
-      =1      {# password}
-      other   {# passwords}
-    }</string>
+        =1      {# password}
+        other   {# passwords}
+        }</string>
     <!-- DO NOT TRANSLATE Summary placeholder for when the passwords count is still loading or is
          unavailable. -->
     <string name="autofill_passwords_count_placeholder" translatable="false">\u2014</string>
@@ -12370,10 +12396,10 @@
     <string name="choose_sim_title">Choose a SIM to use</string>
     <!--  The body text of choose SIM activity. [CHAR LIMIT=NONE] -->
     <string name="choose_sim_text">{count, plural,
-      =1      {1 SIM is available on this device, but only one can be used at a time}
-      =2      {2 SIMs are available on this device, but only one can be used at a time}
-      other   {# SIMs are available on this device, but only one can be used at a time}
-    }</string>
+        =1      {1 SIM is available on this device, but only one can be used at a time}
+        =2      {2 SIMs are available on this device, but only one can be used at a time}
+        other   {# SIMs are available on this device, but only one can be used at a time}
+        }</string>
     <!-- String indicating that we are activating the profile [CHAR LIMIT=NONE] -->
     <string name="choose_sim_activating">Turning on<xliff:g id="ellipsis" example="...">&#8230;</xliff:g></string>
     <!-- String indicating that we failed to activate the selected profile [CHAR LIMIT=NONE] -->
@@ -12504,9 +12530,9 @@
 
     <!-- Summary for the accessibility usage preference in the Privacy page.  [CHAR LIMIT=NONE] -->
     <string name="accessibility_usage_summary">{count, plural,
-      =1      {1 app has full access to your device}
-      other   {# apps have full access to your device}
-    }</string>
+        =1      {1 app has full access to your device}
+        other   {# apps have full access to your device}
+        }</string>
 
     <!-- Label for the title on wfc disclaimer fragment. [CHAR LIMIT=40] -->
     <string name="wfc_disclaimer_title_text">Important information</string>
@@ -13259,9 +13285,9 @@
     <!-- Background Install Control UI -->
     <!-- [CHAR LIMIT=NONE] Preference Feature Summary -->
     <string name="background_install_preference_summary">{count, plural,
-    =1    {# app}
-    other {# apps}
-    }</string>
+        =1    {# app}
+        other {# apps}
+        }</string>
 
     <!-- [CHAR LIMIT=NONE] Feature Title -->
     <string name="background_install_title">Apps installed in the background</string>
@@ -13273,14 +13299,14 @@
     <string name="background_install_uninstall_button_description">Uninstall app</string>
     <!-- [CHAR LIMIT=NONE] Before time period group list title -->
     <string name="background_install_before">{count, plural,
-    =1    {Apps installed in the last # month}
-    other {Apps installed in the last # months}
-    }</string>
+        =1    {Apps installed in the last # month}
+        other {Apps installed in the last # months}
+        }</string>
     <!-- [CHAR LIMIT=NONE] After time period group list title -->
     <string name="background_install_after">{count, plural,
-    =1    {Apps installed more than # month ago}
-    other {Apps installed more than # months ago}
-    }</string>
+        =1    {Apps installed more than # month ago}
+        other {Apps installed more than # months ago}
+        }</string>
 
     <!-- App Aspect Ratio (User Aspect Ratio Override) -->
     <!-- [CHAR LIMIT=60] Aspect ratio title setting to choose app aspect ratio -->
@@ -13473,11 +13499,11 @@
     <!--Text for Stylus Pointer Icon preference -->
     <string name="show_stylus_pointer_icon">Show pointer while hovering</string>
 
-     <!-- Developer settings title: Media DRM settings screen. [CHAR LIMIT=50] -->
+    <!-- Developer settings title: Media DRM settings screen. [CHAR LIMIT=50] -->
     <string name="media_drm_settings_title">Media DRM settings</string>
-     <!-- Developer settings title: select whether to enable force Software Secure Crypto fallback. [CHAR LIMIT=50] -->
+    <!-- Developer settings title: select whether to enable force Software Secure Crypto fallback. [CHAR LIMIT=50] -->
     <string name="force_swcrypto_fallback_title">Force Software Secure Crypto</string>
-     <!-- Developer settings summary: select to force Software Secure Crypto.[CHAR LIMIT=NONE] -->
+    <!-- Developer settings summary: select to force Software Secure Crypto.[CHAR LIMIT=NONE] -->
     <string name="force_swcrypto_fallback_summary">Force DRM key management to use software-based whitebox crypto</string>
 
     <!--Text for acquire msg on UDFPS devices -->
@@ -13704,7 +13730,6 @@
     <!-- Learn more link for audio sharing qrcode [CHAR LIMIT=none]-->
     <string name="audio_streams_qr_code_help_with_link"><annotation id="link">Need help?</annotation></string>
 
-
     <!-- url for learning more about bluetooth audio sharing -->
     <string name="help_url_audio_sharing" translatable="false"></string>
 
@@ -13721,8 +13746,19 @@
     <string name="contacts_storage_device_only_preference_summary">New contacts won\'t be synced with an account</string>
     <!-- Text for explaining the selection in Contacts Storage Settings [CHAR LIMIT=NONE] -->
     <string name="contacts_storage_selection_message">Contacts will be saved to your device and synced to your account by default</string>
+    <!-- Text for error toast when there's error setting the default account in Contacts Storage Settings [CHAR LIMIT=NONE] -->
+    <string name="contacts_storage_set_default_account_error_message">Error setting the default account</string>
     <!-- Text for displaying when no account is set as default account [CHAR LIMIT=50] -->
-    <string name="contacts_storage_no_account_set">No default set</string>
+    <string name="contacts_storage_no_account_set_summary">No default set</string>
+    <!-- Text for displaying when default account is set as local only [CHAR LIMIT=50] -->
+    <string name="contacts_storage_local_account_summary">Device only</string>
     <!-- Text for add account selection message when no account has been added [CHAR LIMIT=100] -->
     <string name="contacts_storage_first_time_add_account_message">Add an account to get started</string>
+
+    <!-- Circle to Search (shared between all entrypoints) -->
+    <!-- Name of Google's new feature to circle to search anything on your phone screen,
+         without switching apps. Also used as the setting title. [CHAR LIMIT=60] -->
+    <string name="search_gesture_feature_title">Circle to Search</string>
+    <!-- Summary text for press and hold nav handle OR home button to invoke Circle to Search. [CHAR LIMIT=NONE] -->
+    <string name="search_gesture_feature_summary">Touch and hold the Home button or the navigation handle to search using the content on your screen.</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index 70d3670..5bcb805 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -455,11 +455,13 @@
     </style>
 
     <style name="SearchBarStyle">
+        <item name="android:theme">@style/Theme.MaterialComponents.DayNight</item>
         <item name="cardCornerRadius">@dimen/search_bar_corner_radius</item>
         <item name="cardElevation">0dp</item>
     </style>
 
     <style name="SearchBarStyle_v2">
+        <item name="android:theme">@style/Theme.MaterialComponents.DayNight</item>
         <item name="cardCornerRadius">40dp</item>
         <item name="cardElevation">0dp</item>
         <item name="strokeWidth">1dp</item>
diff --git a/res/xml/accessibility_system_controls.xml b/res/xml/accessibility_system_controls.xml
index 460214f..a8cb1bb 100644
--- a/res/xml/accessibility_system_controls.xml
+++ b/res/xml/accessibility_system_controls.xml
@@ -20,6 +20,9 @@
     android:persistent="false"
     android:title="@string/accessibility_system_controls_title">
 
+    <!-- The item is not specific to Accessibility.
+        The same entry is under System, which is unlikely to be removed,
+        so this is not searchable. -->
     <Preference
         android:fragment="com.android.settings.gestures.SystemNavigationGestureSettings"
         android:key="gesture_system_navigation_input_summary_accessibility"
@@ -28,6 +31,9 @@
         settings:searchable="false"
         settings:controller="com.android.settings.gestures.SystemNavigationPreferenceController"/>
 
+    <!-- The item is not specific to Accessibility.
+        The same entry is under System > Gesture, which is unlikely to be removed,
+        so this is not searchable. -->
     <Preference
         android:fragment="com.android.settings.gestures.OneHandedSettings"
         android:key="gesture_system_navigation_one_handed_accessibility"
@@ -43,21 +49,28 @@
         settings:controller="com.android.settings.accessibility.PowerButtonEndsCallPreferenceController"/>
 
     <!-- Standard auto-rotation preference that will be shown when device state based auto-rotation
-         settings are NOT available. -->
+         settings are NOT available.
+         The item is not specific to Accessibility.
+         The same entry is under Display & touch, which is unlikely to be removed,
+         so this is not searchable.-->
     <SwitchPreferenceCompat
         android:key="toggle_lock_screen_rotation_preference"
         android:persistent="false"
         android:title="@string/accelerometer_title"
+        settings:searchable="false"
         settings:controller="com.android.settings.accessibility.LockScreenRotationPreferenceController"/>
 
     <!-- Auto-rotation preference that will be shown when device state based auto-rotation settings
-         are available. -->
+         are available.
+         The item is not specific to Accessibility.
+         The same entry is under Display & touch, which is unlikely to be removed,
+         so this is not searchable. -->
     <Preference
         android:key="device_state_auto_rotate_accessibility"
         android:persistent="false"
         android:title="@string/accelerometer_title"
         android:fragment="com.android.settings.display.DeviceStateAutoRotateDetailsFragment"
-        settings:keywords="@string/keywords_auto_rotate"
+        settings:searchable="false"
         settings:controller="com.android.settings.display.DeviceStateAutoRotateOverviewController"/>
 
 </PreferenceScreen>
diff --git a/res/xml/button_navigation_settings.xml b/res/xml/button_navigation_settings.xml
index 1de011c..1f89539 100644
--- a/res/xml/button_navigation_settings.xml
+++ b/res/xml/button_navigation_settings.xml
@@ -28,7 +28,8 @@
         settings:searchable="false"
         settings:dynamicColor="true"
         settings:lottie_imageAssetsFolder="button_nav_menu"
-        settings:lottie_rawRes="@raw/lottie_button_nav_menu"/>
+        settings:lottie_rawRes="@raw/lottie_button_nav_menu"
+        settings:controller="com.android.settings.gestures.ButtonNavigationSettingsAssistController"/>
 
     <SwitchPreferenceCompat
         android:key="assistant_long_press_home_gesture"
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index f494795..a4addf6 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -200,6 +200,11 @@
             android:summary="@string/enable_terminal_summary" />
 
         <SwitchPreferenceCompat
+            android:key="enable_linux_terminal"
+            android:title="@string/enable_linux_terminal_title"
+            android:summary="@string/enable_linux_terminal_summary" />
+
+        <SwitchPreferenceCompat
             android:key="bugreport_in_power"
             android:title="@string/bugreport_in_power"
             android:summary="@string/bugreport_in_power_summary" />
diff --git a/res/xml/mouse_keys_main_page.xml b/res/xml/mouse_keys_main_page.xml
new file mode 100644
index 0000000..d781b51
--- /dev/null
+++ b/res/xml/mouse_keys_main_page.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright 2024 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+-->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/mouse_keys"
+    android:key="mouse_key_main_page">
+
+    <com.android.settingslib.widget.MainSwitchPreference
+        android:key="mouse_keys_main_switch"
+        android:title="@string/mouse_keys_main_title"
+        settings:controller="com.android.settings.inputmethod.KeyboardAccessibilityMouseKeysController"/>
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="mouse_keys_list"
+        android:layout="@layout/mouse_keys_image_list"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/physical_keyboard_a11y_settings.xml b/res/xml/physical_keyboard_a11y_settings.xml
index 62479f9..9d634c0 100644
--- a/res/xml/physical_keyboard_a11y_settings.xml
+++ b/res/xml/physical_keyboard_a11y_settings.xml
@@ -19,39 +19,40 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/keyboard_a11y_settings"
-    android:key="physical_keyboard_a11y">
+    android:key="physical_keyboard_a11y_page">
 
     <PreferenceCategory
-        android:key="keyboard_a11y_category"
+        android:key="keyboard_a11y_page_category"
         android:title="@string/keyboard_a11y_category">
 
         <SwitchPreferenceCompat
-            android:key="accessibility_sticky_keys"
+            android:key="keyboard_a11y_page_sticky_keys"
             android:title="@string/sticky_keys"
             android:summary="@string/sticky_keys_summary"
             android:defaultValue="false"
             settings:controller="com.android.settings.inputmethod.KeyboardAccessibilityStickyKeysController"/>
 
         <com.android.settingslib.PrimarySwitchPreference
-            android:key="accessibility_bounce_keys"
+            android:key="keyboard_a11y_page_bounce_keys"
             android:title="@string/bounce_keys"
             android:summary="@string/bounce_keys_summary"
             android:defaultValue="false"
             settings:controller="com.android.settings.inputmethod.KeyboardAccessibilityBounceKeysController"/>
 
-        <SwitchPreferenceCompat
-            android:key="accessibility_slow_keys"
+        <com.android.settingslib.PrimarySwitchPreference
+            android:key="keyboard_a11y_page_slow_keys"
             android:title="@string/slow_keys"
             android:defaultValue="false"
             android:summary="@string/slow_keys_summary"
-            settings:controller="com.android.settings.inputmethod.KeyboardAccessibilitySlowKeysController" />
+            settings:controller="com.android.settings.inputmethod.KeyboardAccessibilitySlowKeysController"/>
 
-        <SwitchPreferenceCompat
-            android:key="accessibility_mouse_keys"
+        <com.android.settingslib.PrimarySwitchPreference
+            android:key="keyboard_a11y_page_mouse_keys"
             android:title="@string/mouse_keys"
             android:summary="@string/mouse_keys_summary"
             android:defaultValue="false"
-            settings:controller="com.android.settings.inputmethod.KeyboardAccessibilityMouseKeysController" />
+            android:fragment="com.android.settings.inputmethod.MouseKeysMainPageFragment"
+            settings:controller="com.android.settings.inputmethod.KeyboardAccessibilityMouseKeysController"/>
 
     </PreferenceCategory>
 
diff --git a/res/xml/physical_keyboard_settings.xml b/res/xml/physical_keyboard_settings.xml
index 5d2c5fc..5691405 100644
--- a/res/xml/physical_keyboard_settings.xml
+++ b/res/xml/physical_keyboard_settings.xml
@@ -33,11 +33,12 @@
             android:summary="@string/modifier_keys_settings_summary"
             android:fragment="com.android.settings.inputmethod.ModifierKeysSettings" />
 
-        <SwitchPreferenceCompat
-            android:key="physical_keyboard_repeat_key"
-            android:title="@string/keyboard_repeat_key_title"
-            android:summary="@string/keyboard_repeat_key_summary"
+        <com.android.settingslib.PrimarySwitchPreference
+            android:key="physical_keyboard_repeat_keys"
+            android:title="@string/keyboard_repeat_keys_title"
+            android:summary="@string/keyboard_repeat_keys_summary"
             android:defaultValue="false"
+            android:fragment="com.android.settings.inputmethod.KeyboardRepeatKeysMainFragment"
             settings:controller="com.android.settings.inputmethod.KeyboardRepeatKeysController" />
 
         <Preference
diff --git a/res/xml/power_background_usage_detail.xml b/res/xml/power_background_usage_detail.xml
index 5c7b6a5..32d80b5 100644
--- a/res/xml/power_background_usage_detail.xml
+++ b/res/xml/power_background_usage_detail.xml
@@ -25,22 +25,25 @@
         android:layout="@layout/settings_entity_header"
         android:selectable="false"/>
 
-    <com.android.settingslib.widget.MainSwitchPreference
-        android:key="allow_background_usage"
-        android:title="@string/manager_battery_usage_allow_background_usage_title"
-        settings:controller="com.android.settings.fuelgauge.AllowBackgroundPreferenceController"/>
+    <PreferenceCategory
+        android:key="battery_optimization_mode_category"
+        android:layout="@layout/settingslib_preference_category_no_title"
+        settings:controller="com.android.settings.fuelgauge.BatteryOptimizationModePreferenceController">
 
-    <com.android.settingslib.widget.SelectorWithWidgetPreference
-        android:key="optimized_preference"
-        android:title="@string/manager_battery_usage_optimized_title"
-        android:summary="@string/manager_battery_usage_optimized_summary"
-        settings:controller="com.android.settings.fuelgauge.OptimizedPreferenceController"/>
+        <com.android.settingslib.widget.MainSwitchPreference
+            android:key="background_usage_allowability_switch"
+            android:title="@string/manager_battery_usage_allow_background_usage_title"/>
 
-    <com.android.settingslib.widget.SelectorWithWidgetPreference
-        android:key="unrestricted_preference"
-        android:title="@string/manager_battery_usage_unrestricted_title"
-        android:summary="@string/manager_battery_usage_unrestricted_summary"
-        settings:controller="com.android.settings.fuelgauge.UnrestrictedPreferenceController"/>
+        <com.android.settingslib.widget.SelectorWithWidgetPreference
+            android:key="optimized_preference"
+            android:title="@string/manager_battery_usage_optimized_title"
+            android:summary="@string/manager_battery_usage_optimized_summary"/>
+
+        <com.android.settingslib.widget.SelectorWithWidgetPreference
+            android:key="unrestricted_preference"
+            android:title="@string/manager_battery_usage_unrestricted_title"
+            android:summary="@string/manager_battery_usage_unrestricted_summary"/>
+    </PreferenceCategory>
 
     <com.android.settingslib.widget.FooterPreference
         android:key="app_usage_footer_preference"
diff --git a/res/xml/power_usage_detail.xml b/res/xml/power_usage_detail.xml
index f3b30b6..655dbc5 100644
--- a/res/xml/power_usage_detail.xml
+++ b/res/xml/power_usage_detail.xml
@@ -48,12 +48,12 @@
 
     <PreferenceCategory
         android:title="@string/manager_battery_usage_category_title"
-        android:key="manage_battery_usage_category">
+        android:key="background_usage_allowability_category"
+        settings:controller="com.android.settings.fuelgauge.BackgroundUsageAllowabilityPreferenceController">
 
         <com.android.settingslib.PrimarySwitchPreference
-            android:key="allow_background_usage"
-            android:title="@string/manager_battery_usage_allow_background_usage_title"
-            settings:controller="com.android.settings.fuelgauge.AllowBackgroundPreferenceController"/>
+            android:key="background_usage_allowability_switch"
+            android:title="@string/manager_battery_usage_allow_background_usage_title"/>
 
     </PreferenceCategory>
 
diff --git a/res/xml/repeat_key_main_page.xml b/res/xml/repeat_key_main_page.xml
new file mode 100644
index 0000000..c33eba7
--- /dev/null
+++ b/res/xml/repeat_key_main_page.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright 2024 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/keyboard_repeat_keys_title"
+    android:key="repeat_keys_main_page">
+
+    <com.android.settingslib.widget.MainSwitchPreference
+        android:key="repeat_keys_main_switch"
+        android:title="@string/keyboard_repeat_keys_title"
+        settings:controller="com.android.settings.inputmethod.KeyboardRepeatKeysController"/>
+    <com.android.settings.widget.LabeledSeekBarPreference
+        android:key="repeat_keys_timeout_preference"
+        android:title="@string/keyboard_repeat_keys_timeout_title"
+        android:min="0"
+        android:max="6"
+        settings:seekBarIncrement="1"
+        settings:controller= "com.android.settings.inputmethod.KeyboardRepeatKeysTimeOutPreferenceController" />
+    <com.android.settings.widget.LabeledSeekBarPreference
+        android:key="repeat_keys_delay_preference"
+        android:title="@string/keyboard_repeat_keys_delay_title"
+        android:min="0"
+        android:max="8"
+        settings:seekBarIncrement="1"
+        settings:controller= "com.android.settings.inputmethod.KeyboardRepeatKeysDelayPreferenceController" />
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index 15312c8..eed4406 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -170,7 +170,7 @@
 
     <!-- Dial pad tones -->
     <SwitchPreferenceCompat
-        android:key="dial_pad_tones"
+        android:key="dtmf_tone"
         android:title="@string/dial_pad_tones_title"
         android:order="-50"/>
 
diff --git a/res/xml/system_navigation_gesture_settings.xml b/res/xml/system_navigation_gesture_settings.xml
index a75875b..8919a40 100644
--- a/res/xml/system_navigation_gesture_settings.xml
+++ b/res/xml/system_navigation_gesture_settings.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  Copyright (C) 2018 The Android Open Source Project
+  Copyright (C) 2024 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.
@@ -19,4 +19,15 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/system_navigation_title"
-    settings:keywords="@string/keywords_system_navigation"/>
+    settings:keywords="@string/keywords_system_navigation">
+
+    <SwitchPreferenceCompat
+        android:key="search_gesture_press_hold"
+        android:title="@string/search_gesture_feature_title"
+        android:summary="@string/search_gesture_feature_summary"
+        android:order="100"
+        settings:allowDividerAbove="true"
+        settings:controller="com.android.settings.gestures.NavigationSettingsContextualSearchController"
+        settings:highlightableMenuKey="@string/menu_key_system" />
+
+</PreferenceScreen>
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index a095006..10763d0 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -97,9 +97,8 @@
                 }
             };
 
-    @Nullable
     @Override
-    public String getPreferenceScreenBindingKey(@NonNull Context context) {
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
         return DisplayScreen.KEY;
     }
 }
diff --git a/src/com/android/settings/LegalSettings.java b/src/com/android/settings/LegalSettings.java
index e48da26..533dde3 100644
--- a/src/com/android/settings/LegalSettings.java
+++ b/src/com/android/settings/LegalSettings.java
@@ -50,9 +50,8 @@
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.about_legal);
 
-    @Nullable
     @Override
-    public String getPreferenceScreenBindingKey(@NonNull Context context) {
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
         return LegalSettingsScreen.KEY;
     }
 }
diff --git a/src/com/android/settings/RegulatoryInfoDisplayActivity.kt b/src/com/android/settings/RegulatoryInfoDisplayActivity.kt
index 6b5ccc7..4038aa8 100644
--- a/src/com/android/settings/RegulatoryInfoDisplayActivity.kt
+++ b/src/com/android/settings/RegulatoryInfoDisplayActivity.kt
@@ -69,6 +69,6 @@
     private fun getRegulatoryText(): CharSequence? {
         val regulatoryInfoText = resources.getText(R.string.regulatory_info_text)
         if (regulatoryInfoText.isNotBlank()) return regulatoryInfoText
-        return featureFactory.hardwareInfoFeatureProvider?.countryIfOriginLabel
+        return featureFactory.hardwareInfoFeatureProvider?.countryOfOriginLabel
     }
 }
diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java
index f86e29f..2178b60 100644
--- a/src/com/android/settings/ResetNetwork.java
+++ b/src/com/android/settings/ResetNetwork.java
@@ -47,7 +47,6 @@
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
-import com.android.internal.telephony.flags.Flags;
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.network.ResetNetworkRestrictionViewBuilder;
@@ -142,13 +141,10 @@
         Context context = getContext();
         boolean resetSims = false;
 
-        // TODO(b/317276437) Simplify the logic once flag is released
         int resetOptions = ResetNetworkRequest.RESET_CONNECTIVITY_MANAGER
-                        | ResetNetworkRequest.RESET_VPN_MANAGER;
-        if (Flags.resetMobileNetworkSettings()) {
-            resetOptions |= ResetNetworkRequest.RESET_IMS_STACK;
-            resetOptions |= ResetNetworkRequest.RESET_PHONE_PROCESS;
-        }
+                        | ResetNetworkRequest.RESET_VPN_MANAGER
+                        | ResetNetworkRequest.RESET_IMS_STACK
+                        | ResetNetworkRequest.RESET_PHONE_PROCESS;
         ResetNetworkRequest request = new ResetNetworkRequest(resetOptions);
         if (mSubscriptions != null && mSubscriptions.size() > 0) {
             int selectedIndex = mSubscriptionSpinner.getSelectedItemPosition();
@@ -156,9 +152,7 @@
             int subId = subscription.getSubscriptionId();
             request.setResetTelephonyAndNetworkPolicyManager(subId)
                     .setResetApn(subId);
-            if (Flags.resetMobileNetworkSettings()) {
-                request.setResetImsSubId(subId);
-            }
+            request.setResetImsSubId(subId);
         }
         if (mEsimContainer.getVisibility() == View.VISIBLE && mEsimCheckbox.isChecked()) {
             resetSims = true;
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index f7110b4..b04f3af 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -514,4 +514,5 @@
 
     public static class HearingDevicesActivity extends SettingsActivity { /* empty */ }
     public static class HearingDevicesPairingActivity extends SettingsActivity { /* empty */ }
+    public static class ContactsStorageSettingsActivity extends SettingsActivity { /* empty */ }
 }
diff --git a/src/com/android/settings/SettingsService.kt b/src/com/android/settings/SettingsService.kt
new file mode 100644
index 0000000..2cd706b
--- /dev/null
+++ b/src/com/android/settings/SettingsService.kt
@@ -0,0 +1,30 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings
+
+import android.content.Intent
+import android.os.IBinder
+import com.android.settings.flags.Flags
+import com.android.settingslib.service.PreferenceService
+
+/** Service to expose settings APIs. */
+class SettingsService : PreferenceService({ _, _, _ -> true }) {
+
+    override fun onBind(intent: Intent): IBinder? {
+        return if (!Flags.catalystService()) null else super.onBind(intent)
+    }
+}
diff --git a/src/com/android/settings/accessibility/ColorAndMotionFragment.java b/src/com/android/settings/accessibility/ColorAndMotionFragment.java
index 4ea2226..7a7c21d 100644
--- a/src/com/android/settings/accessibility/ColorAndMotionFragment.java
+++ b/src/com/android/settings/accessibility/ColorAndMotionFragment.java
@@ -17,12 +17,15 @@
 package com.android.settings.accessibility;
 
 import android.app.settings.SettingsEnums;
+import android.content.Context;
 import android.hardware.display.ColorDisplayManager;
 import android.os.Bundle;
 import android.os.Handler;
 import android.provider.Settings;
 import android.view.accessibility.Flags;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.TwoStatePreference;
@@ -148,6 +151,12 @@
         }
     }
 
+    @Nullable
+    @Override
+    public String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return ColorAndMotionScreen.KEY;
+    }
+
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.accessibility_color_and_motion);
 }
diff --git a/src/com/android/settings/accessibility/ColorAndMotionScreen.kt b/src/com/android/settings/accessibility/ColorAndMotionScreen.kt
new file mode 100644
index 0000000..909b08b
--- /dev/null
+++ b/src/com/android/settings/accessibility/ColorAndMotionScreen.kt
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2024 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.accessibility
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class ColorAndMotionScreen : PreferenceScreenCreator {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.accessibility_color_and_motion_title
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystAccessibilityColorAndMotion()
+
+    override fun hasCompleteHierarchy(): Boolean = false
+
+    override fun fragmentClass() = ColorAndMotionFragment::class.java
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "accessibility_color_and_motion"
+    }
+}
diff --git a/src/com/android/settings/accessibility/DisplaySizeData.java b/src/com/android/settings/accessibility/DisplaySizeData.java
index 77ae897..15aeb6b 100644
--- a/src/com/android/settings/accessibility/DisplaySizeData.java
+++ b/src/com/android/settings/accessibility/DisplaySizeData.java
@@ -35,7 +35,7 @@
         super(context);
 
         mDensity = new DisplayDensityUtils(getContext());
-        final int initialIndex = mDensity.getCurrentIndexForDefaultDisplay();
+        final int initialIndex = mDensity.getCurrentIndex();
         if (initialIndex < 0) {
             // Failed to obtain default density, which means we failed to
             // connect to the window manager service. Just use the current
@@ -46,9 +46,9 @@
             setInitialIndex(0);
             setValues(Collections.singletonList(densityDpi));
         } else {
-            setDefaultValue(mDensity.getDefaultDensityForDefaultDisplay());
+            setDefaultValue(mDensity.getDefaultDensity());
             setInitialIndex(initialIndex);
-            setValues(Arrays.stream(mDensity.getDefaultDisplayDensityValues()).boxed()
+            setValues(Arrays.stream(mDensity.getValues()).boxed()
                     .collect(Collectors.toList()));
         }
     }
diff --git a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
index 9c8560b..8b37c8f 100644
--- a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
@@ -18,8 +18,6 @@
 
 import android.accessibilityservice.AccessibilityServiceInfo;
 
-import com.android.settingslib.accessibility.AccessibilityUtils;
-
 /**
  * Fragment that does not have toggle bar to turn on service to use.
  *
@@ -37,29 +35,4 @@
         super.onInstallSwitchPreferenceToggleSwitch();
         mToggleServiceSwitchPreference.setVisible(false);
     }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Enables accessibility service only when user had allowed permission. Disables
-     * accessibility service when shortcutPreference is unchecked.
-     */
-    @Override
-    public void onToggleClicked(ShortcutPreference preference) {
-        super.onToggleClicked(preference);
-        boolean enabled = getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED)
-                && preference.isChecked();
-        AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, enabled);
-    }
-
-    /**
-     * {@inheritDoc}
-     *
-     * Enables accessibility service when user clicks permission allow button.
-     */
-    @Override
-    void onAllowButtonFromShortcutToggleClicked() {
-        super.onAllowButtonFromShortcutToggleClicked();
-        AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, true);
-    }
 }
diff --git a/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java b/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
index a90af21..9fc9e10 100644
--- a/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
@@ -30,6 +30,8 @@
 import android.widget.Toast;
 
 import androidx.annotation.IntDef;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.settings.R;
@@ -313,4 +315,9 @@
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.accessibility_text_reading_options);
+
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return TextReadingScreen.KEY;
+    }
 }
diff --git a/src/com/android/settings/accessibility/TextReadingScreen.kt b/src/com/android/settings/accessibility/TextReadingScreen.kt
new file mode 100644
index 0000000..8970d52
--- /dev/null
+++ b/src/com/android/settings/accessibility/TextReadingScreen.kt
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2024 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.accessibility
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class TextReadingScreen : PreferenceScreenCreator {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.accessibility_text_reading_options_title
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystTextReadingScreen()
+
+    override fun fragmentClass() = TextReadingPreferenceFragment::class.java
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "text_reading_screen"
+    }
+}
diff --git a/src/com/android/settings/accessibility/VibrationIntensityScreen.kt b/src/com/android/settings/accessibility/VibrationIntensityScreen.kt
new file mode 100644
index 0000000..5d7d4fb
--- /dev/null
+++ b/src/com/android/settings/accessibility/VibrationIntensityScreen.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2024 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.accessibility
+
+import android.content.Context
+import androidx.fragment.app.Fragment
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class VibrationIntensityScreen : PreferenceScreenCreator {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.accessibility_vibration_settings_title
+
+    override fun isFlagEnabled(context: Context): Boolean = Flags.catalystVibrationIntensityScreen()
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun fragmentClass(): Class<out Fragment>? =
+        VibrationIntensitySettingsFragment::class.java
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "vibration_intensity_screen"
+    }
+}
diff --git a/src/com/android/settings/accessibility/VibrationIntensitySettingsFragment.java b/src/com/android/settings/accessibility/VibrationIntensitySettingsFragment.java
index 1d24ec9..328bed9 100644
--- a/src/com/android/settings/accessibility/VibrationIntensitySettingsFragment.java
+++ b/src/com/android/settings/accessibility/VibrationIntensitySettingsFragment.java
@@ -25,6 +25,8 @@
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.recyclerview.widget.RecyclerView;
 
@@ -90,4 +92,9 @@
                     return VibrationIntensitySettingsFragment.isPageSearchEnabled(context);
                 }
             };
+
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return VibrationIntensityScreen.KEY;
+    }
 }
diff --git a/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java b/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java
index d04b34a..f05b157 100644
--- a/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java
@@ -61,6 +61,7 @@
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
 import com.android.settings.accessibility.AccessibilitySetupWizardUtils;
+import com.android.settings.accessibility.Flags;
 import com.android.settings.accessibility.PreferredShortcuts;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
@@ -201,9 +202,14 @@
         super.onCreatePreferences(savedInstanceState, rootKey);
 
         Activity activity = getActivity();
+        final Preference descriptionPref = findPreference(getString(
+                R.string.accessibility_shortcut_description_pref));
 
         if (!activity.getIntent().getAction().equals(
                 Settings.ACTION_ACCESSIBILITY_SHORTCUT_SETTINGS)) {
+            if (Flags.toggleFeatureFragmentCollectionInfo()) {
+                descriptionPref.setVisible(false);
+            }
             return;
         }
 
@@ -219,10 +225,11 @@
         );
 
         activity.setTitle(titles.first);
-
-        String screenDescriptionPrefKey = getString(
-                R.string.accessibility_shortcut_description_pref);
-        findPreference(screenDescriptionPrefKey).setSummary(titles.second);
+        if (titles.second != null || !Flags.toggleFeatureFragmentCollectionInfo()) {
+            descriptionPref.setSummary(titles.second);
+        } else {
+            descriptionPref.setVisible(false);
+        }
     }
 
     @NonNull
diff --git a/src/com/android/settings/applications/contacts/ContactsStoragePreferenceController.java b/src/com/android/settings/applications/contacts/ContactsStoragePreferenceController.java
index bc6931d..6c179da 100644
--- a/src/com/android/settings/applications/contacts/ContactsStoragePreferenceController.java
+++ b/src/com/android/settings/applications/contacts/ContactsStoragePreferenceController.java
@@ -1,4 +1,3 @@
-
 /*
  * Copyright (C) 2024 The Android Open Source Project
  *
@@ -16,12 +15,13 @@
  */
 package com.android.settings.applications.contacts;
 
+import static android.provider.ContactsContract.RawContacts.DefaultAccount;
+
 import android.accounts.Account;
 import android.content.Context;
 import android.os.UserHandle;
-import android.provider.ContactsContract;
-
-import androidx.preference.PreferenceScreen;
+import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState;
+import android.util.Log;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
@@ -36,33 +36,53 @@
 
     private final AuthenticatorHelper mAuthenticatorHelper;
 
+    private DefaultAccountAndState mCurrentDefaultAccountAndState;
+
     public ContactsStoragePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mAuthenticatorHelper = new AuthenticatorHelper(mContext,
                 new UserHandle(UserHandle.myUserId()), null);
+        try {
+            mCurrentDefaultAccountAndState =
+                    DefaultAccount.getDefaultAccountForNewContacts(mContext.getContentResolver());
+        } catch (IllegalStateException e) {
+            Log.e(TAG, "The default account is in an invalid state: " + e);
+        } catch (RuntimeException e) {
+            Log.e(TAG, "Failed to look up the default account: " + e);
+        }
     }
 
     @Override
     public int getAvailabilityStatus() {
-        return Flags.enableContactsDefaultAccountInSettings()
-            ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+        return (Flags.enableContactsDefaultAccountInSettings()
+                && mCurrentDefaultAccountAndState != null) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
     }
 
     @Override
     public CharSequence getSummary() {
-        Account currentDefaultAccount =
-                ContactsContract.Settings.getDefaultAccount(mContext.getContentResolver());
-        if (currentDefaultAccount == null) {
-            return mContext.getResources().getString(
-                    R.string.contacts_storage_no_account_set);
+        if (mCurrentDefaultAccountAndState != null) {
+            int currentDefaultAccountState = mCurrentDefaultAccountAndState.getState();
+            Account currentDefaultAccount = mCurrentDefaultAccountAndState.getAccount();
+            if (currentDefaultAccountState
+                    == DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_NOT_SET) {
+                return mContext.getResources().getString(
+                        R.string.contacts_storage_no_account_set_summary);
+            } else if (currentDefaultAccountState
+                    == DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_LOCAL) {
+                return mContext.getResources().getString(
+                        R.string.contacts_storage_local_account_summary);
+            } else if (currentDefaultAccount != null) {
+                String accountTypeLabel = (String) mAuthenticatorHelper.getLabelForType(mContext,
+                        currentDefaultAccount.type);
+                // If there's no account type, or the account type is the same as the
+                // current default account name, just return the account name.
+                if (accountTypeLabel == null || accountTypeLabel.equals(
+                        currentDefaultAccount.name)) {
+                    return currentDefaultAccount.name;
+                }
+                return accountTypeLabel + " | " + currentDefaultAccount.name;
+            }
         }
-        String accountTypeLabel = (String) mAuthenticatorHelper.getLabelForType(mContext,
-                currentDefaultAccount.type);
-        // If there's no account type, or the account type is the same as the
-        // current default account name, just return the account name.
-        if (accountTypeLabel == null || accountTypeLabel.equals(currentDefaultAccount.name)) {
-            return currentDefaultAccount.name;
-        }
-        return accountTypeLabel + " | " + currentDefaultAccount.name;
+        return "";
     }
 }
diff --git a/src/com/android/settings/applications/contacts/ContactsStorageSettings.java b/src/com/android/settings/applications/contacts/ContactsStorageSettings.java
index 90d593a..3d449cf 100644
--- a/src/com/android/settings/applications/contacts/ContactsStorageSettings.java
+++ b/src/com/android/settings/applications/contacts/ContactsStorageSettings.java
@@ -1,4 +1,3 @@
-
 /*
  * Copyright (C) 2020 The Android Open Source Project
  *
@@ -17,25 +16,27 @@
 package com.android.settings.applications.contacts;
 
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
+import static android.provider.ContactsContract.RawContacts.DefaultAccount;
 import static android.provider.Settings.ACTION_ADD_ACCOUNT;
 import static android.provider.Settings.EXTRA_ACCOUNT_TYPES;
 
 import android.accounts.Account;
-import android.accounts.AccountManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources;
 import android.os.Bundle;
 import android.os.UserHandle;
-import android.provider.ContactsContract.Settings;
-
+import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState;
+import android.widget.Toast;
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.UiThread;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceScreen;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.accounts.AddAccountSettings;
 import com.android.settings.dashboard.DashboardFragment;
@@ -46,6 +47,7 @@
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -59,7 +61,7 @@
     private static final String TAG = "ContactsStorageSettings";
     private static final String PREF_KEY_ADD_ACCOUNT = "add_account";
     private static final String PREF_KEY_DEVICE_ONLY = "device_only_account_preference";
-    private final Map<String, Account> mAccountMap = new HashMap<>();
+    private final Map<String, DefaultAccountAndState> mAccountMap = new HashMap<>();
     private AuthenticatorHelper mAuthenticatorHelper;
 
     @Override
@@ -73,13 +75,18 @@
     @Override
     public void onRadioButtonClicked(@NonNull SelectorWithWidgetPreference selectedPref) {
         final String selectedPreferenceKey = selectedPref.getKey();
-        // Check if current provider is different from the selected provider.
+        // Check if current account is different from the selected account.
         for (String preferenceKey : mAccountMap.keySet()) {
             if (selectedPreferenceKey.equals(preferenceKey)) {
-                selectedPref.setChecked(true);
-                //TODO: Call DefaultAccount.setDefaultAccountForNewContacts once
-                // the implementation is ready.
-                Settings.setDefaultAccount(getContentResolver(), mAccountMap.get(preferenceKey));
+                try {
+                    DefaultAccount.setDefaultAccountForNewContacts(getContentResolver(),
+                            mAccountMap.get(preferenceKey));
+                    selectedPref.setChecked(true);
+                } catch (RuntimeException e) {
+                    Toast.makeText(getContext(),
+                            R.string.contacts_storage_set_default_account_error_message,
+                            Toast.LENGTH_SHORT).show();
+                }
             } else {
                 SelectorWithWidgetPreference unSelectedPreference =
                         getPreferenceScreen().findPreference(preferenceKey);
@@ -92,10 +99,7 @@
 
     public boolean onPreferenceClick(@NonNull Preference preference) {
         if (PREF_KEY_ADD_ACCOUNT.equals(preference.getKey())) {
-            Resources resources = Resources.getSystem();
-            String[] accountTypesArray =
-                    resources.getStringArray(
-                            com.android.internal.R.array.config_rawContactsEligibleDefaultAccountTypes);
+            String[] accountTypesArray = getEligibleAccountTypes();
             Intent intent = new Intent(ACTION_ADD_ACCOUNT);
             intent.setClass(getContext(), AddAccountSettings.class);
             intent.putExtra(EXTRA_ACCOUNT_TYPES, accountTypesArray);
@@ -108,7 +112,7 @@
 
     @Override
     public void onCreatePreferences(@NonNull Bundle savedInstanceState,
-        @NonNull String rootKey) {
+            @NonNull String rootKey) {
         super.onCreatePreferences(savedInstanceState, rootKey);
         refreshUI();
     }
@@ -119,48 +123,60 @@
         // when creating eligible account preferences.
         mAccountMap.clear();
         final PreferenceScreen screen = getPreferenceScreen();
-        AccountManager accountManager = AccountManager.get(getPrefContext());
-        //TODO: Call DefaultAccount.getDefaultAccountForNewContacts once
-        // implementation is ready.
-        Account[] accounts = accountManager.getAccounts();
-
-        for (int i = 0; i < accounts.length; i++) {
-            screen.addPreference(buildAccountPreference(accounts[i], i));
+        List<Account> accounts = DefaultAccount.getEligibleCloudAccounts(getContentResolver());
+        for (int i = 0; i < accounts.size(); i++) {
+            screen.addPreference(buildAccountPreference(accounts.get(i), /*order=*/i));
         }
-        screen.addPreference(buildAddAccountPreference(accounts.length == 0));
+        // If there's no eligible account types, the "Add Account" preference should
+        // not be shown to the users.
+        if (getEligibleAccountTypes().length > 0) {
+            screen.addPreference(buildAddAccountPreference(accounts.isEmpty()));
+        }
         setupDeviceOnlyPreference();
-
-        //TODO: Call DefaultAccount.ListEligibleCloudAccounts once the
-        // implementation is ready. And differentiate device only account vs account not set case.
-        Account currentDefaultAccount = Settings.getDefaultAccount(getContentResolver());
-        String preferenceKey = currentDefaultAccount != null ?
-                String.valueOf(currentDefaultAccount.hashCode()) : PREF_KEY_DEVICE_ONLY;
-        SelectorWithWidgetPreference preference = getPreferenceScreen().findPreference(
-                preferenceKey);
-        if (preference != null) {
-            preference.setChecked(true);
-        }
+        setDefaultAccountPreference();
     }
 
     private void setupDeviceOnlyPreference() {
         SelectorWithWidgetPreference preference = findPreference(PREF_KEY_DEVICE_ONLY);
         if (preference != null) {
             preference.setOnClickListener(this);
-            mAccountMap.put(PREF_KEY_DEVICE_ONLY, null);
+            mAccountMap.put(PREF_KEY_DEVICE_ONLY, DefaultAccountAndState.ofLocal());
+        }
+    }
+
+    private void setDefaultAccountPreference() {
+        DefaultAccountAndState currentDefaultAccountAndState =
+                DefaultAccount.getDefaultAccountForNewContacts(getContentResolver());
+        String preferenceKey = getAccountHashCode(currentDefaultAccountAndState);
+        Account currentDefaultAccount = currentDefaultAccountAndState.getAccount();
+
+        // Set the current default account preference to be checked if found among existing
+        // preferences. If not, then create a new preference for default account.
+        SelectorWithWidgetPreference preference = null;
+        if (mAccountMap.containsKey(preferenceKey)) {
+            preference = getPreferenceScreen().findPreference(preferenceKey);
+        } else if (preferenceKey != null && currentDefaultAccount != null) {
+            preference = buildAccountPreference(currentDefaultAccount, mAccountMap.size());
+            getPreferenceScreen().addPreference(preference);
+        }
+        if (preference != null) {
+            preference.setChecked(true);
         }
     }
 
     //TODO: Add preference category on account preferences.
-    private Preference buildAccountPreference(Account account, int order) {
+    private SelectorWithWidgetPreference buildAccountPreference(Account account, int order) {
         SelectorWithWidgetPreference preference = new SelectorWithWidgetPreference(
                 getPrefContext());
+        DefaultAccountAndState accountAndState = DefaultAccountAndState.ofCloud(account);
+        String preferenceKey = getAccountHashCode(accountAndState);
         preference.setTitle(mAuthenticatorHelper.getLabelForType(getPrefContext(), account.type));
         preference.setIcon(mAuthenticatorHelper.getDrawableForType(getPrefContext(), account.type));
         preference.setSummary(account.name);
-        preference.setKey(String.valueOf(account.hashCode()));
+        preference.setKey(preferenceKey);
         preference.setOnClickListener(this);
         preference.setOrder(order);
-        mAccountMap.put(String.valueOf(account.hashCode()), account);
+        mAccountMap.put(preferenceKey, accountAndState);
         return preference;
     }
 
@@ -178,6 +194,29 @@
         return preference;
     }
 
+    private @Nullable String getAccountHashCode(DefaultAccountAndState currentDefaultAccountAndState) {
+        Account currentDefaultAccount = currentDefaultAccountAndState.getAccount();
+        if (currentDefaultAccount != null && (currentDefaultAccountAndState.getState()
+                == DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_CLOUD
+                || currentDefaultAccountAndState.getState()
+                == DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_SIM)) {
+            return String.valueOf(currentDefaultAccount.hashCode());
+        } else if (currentDefaultAccountAndState.getState()
+                == DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_LOCAL) {
+            return PREF_KEY_DEVICE_ONLY;
+        } else {
+            // If the account is not set or in error state, it should just return null and won't
+            // set the checked status in radio button.
+            return null;
+        }
+    }
+
+    @VisibleForTesting
+    String[] getEligibleAccountTypes() {
+        return Resources.getSystem().getStringArray(
+                com.android.internal.R.array.config_rawContactsEligibleDefaultAccountTypes);
+    }
+
     @Override
     protected int getPreferenceScreenResId() {
         return R.xml.contacts_storage_settings;
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index b32ab4f..03010bb 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -207,10 +207,9 @@
     @VisibleForTesting
     protected boolean shouldShowLottie() {
         DisplayDensityUtils displayDensity = new DisplayDensityUtils(getApplicationContext());
-        int currentDensityIndex = displayDensity.getCurrentIndexForDefaultDisplay();
-        final int currentDensity = displayDensity.getDefaultDisplayDensityValues()
-                [currentDensityIndex];
-        final int defaultDensity = displayDensity.getDefaultDensityForDefaultDisplay();
+        int currentDensityIndex = displayDensity.getCurrentIndex();
+        final int currentDensity = displayDensity.getValues()[currentDensityIndex];
+        final int defaultDensity = displayDensity.getDefaultDensity();
 
         if (getResources().getConfiguration().fontScale > 1) {
             return false;
diff --git a/src/com/android/settings/biometrics/fingerprint2/BiometricsEnvironment.kt b/src/com/android/settings/biometrics/fingerprint2/BiometricsEnvironment.kt
index 761a9c3..50ac3cd 100644
--- a/src/com/android/settings/biometrics/fingerprint2/BiometricsEnvironment.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/BiometricsEnvironment.kt
@@ -133,11 +133,8 @@
   fun createRenameFingerprintInteractor(): RenameFingerprintInteractor =
     RenameFingerprintsInteractorImpl(fingerprintManager, context.userId, backgroundDispatcher)
 
-  val accessibilityInteractor: AccessibilityInteractor by lazy {
-    AccessibilityInteractorImpl(
-      context.getSystemService(AccessibilityManager::class.java)!!,
-      applicationScope,
-    )
+  fun createAccessibilityInteractor(): AccessibilityInteractor {
+    return AccessibilityInteractorImpl(context.getSystemService(AccessibilityManager::class.java)!!)
   }
 
   val foldStateInteractor: FoldStateInteractor by lazy { FoldStateInteractorImpl(context) }
@@ -157,7 +154,7 @@
   val enrollStageInteractor: EnrollStageInteractor by lazy { EnrollStageInteractorImpl() }
 
   val udfpsEnrollInteractor: UdfpsEnrollInteractor by lazy {
-    UdfpsEnrollInteractorImpl(context, accessibilityInteractor)
+    UdfpsEnrollInteractorImpl(context, createAccessibilityInteractor())
   }
 
   val sensorInteractor: FingerprintSensorInteractor by lazy {
diff --git a/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt b/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt
index 0ef1d25..27465c2 100644
--- a/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt
@@ -67,6 +67,7 @@
     return FingerEnrollState.EnrollError(
       errTitle,
       errString,
+      this,
       this == FINGERPRINT_ERROR_UNABLE_TO_PROCESS,
       this == FINGERPRINT_ERROR_CANCELED,
     )
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AccessibilityInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AccessibilityInteractor.kt
index e1a08e6..9f62ed0 100644
--- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AccessibilityInteractor.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AccessibilityInteractor.kt
@@ -16,6 +16,8 @@
 
 package com.android.settings.biometrics.fingerprint2.domain.interactor
 
+import android.view.accessibility.AccessibilityEvent
+import android.view.accessibility.AccessibilityEvent.TYPE_ANNOUNCEMENT
 import android.view.accessibility.AccessibilityManager
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.channels.awaitClose
@@ -27,26 +29,38 @@
 /** Represents all of the information on accessibility state. */
 interface AccessibilityInteractor {
   /** A flow that contains whether or not accessibility is enabled */
-  val isAccessibilityEnabled: Flow<Boolean>
+  fun isEnabledFlow(scope: CoroutineScope): Flow<Boolean>
+  val isEnabled: Boolean
+  fun announce(clazz: Class<*>, announcement: CharSequence?)
 }
 
 class AccessibilityInteractorImpl(
-  accessibilityManager: AccessibilityManager,
-  applicationScope: CoroutineScope,
+  private val accessibilityManager: AccessibilityManager,
 ) : AccessibilityInteractor {
   /** A flow that contains whether or not accessibility is enabled */
-  override val isAccessibilityEnabled: Flow<Boolean> =
+  override fun isEnabledFlow(scope: CoroutineScope): Flow<Boolean> =
     callbackFlow {
-        val listener =
-          AccessibilityManager.AccessibilityStateChangeListener { enabled -> trySend(enabled) }
-        accessibilityManager.addAccessibilityStateChangeListener(listener)
+      val listener =
+        AccessibilityManager.AccessibilityStateChangeListener { enabled -> trySend(enabled) }
+      accessibilityManager.addAccessibilityStateChangeListener(listener)
 
-        // This clause will be called when no one is listening to the flow
-        awaitClose { accessibilityManager.removeAccessibilityStateChangeListener(listener) }
-      }
+      // This clause will be called when no one is listening to the flow
+      awaitClose { accessibilityManager.removeAccessibilityStateChangeListener(listener) }
+    }
       .stateIn(
-        applicationScope, // This is going to tied to the activity scope
+        scope,
         SharingStarted.WhileSubscribed(), // When no longer subscribed, we removeTheListener
         false,
       )
+
+  override val isEnabled: Boolean
+    get() = accessibilityManager.isEnabled
+
+  override fun announce(clazz: Class<*>, announcement: CharSequence?) {
+    val event = AccessibilityEvent(TYPE_ANNOUNCEMENT)
+    event.className = clazz.javaClass.name
+    event.packageName = clazz.packageName
+    event.text.add(announcement)
+    accessibilityManager.sendAccessibilityEvent(event)
+  }
 }
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/DisplayDensityInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/DisplayDensityInteractor.kt
index 6dfb4c2..00e85b1 100644
--- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/DisplayDensityInteractor.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/DisplayDensityInteractor.kt
@@ -42,7 +42,7 @@
   val fontScale: Flow<Float>
 
   /** A flow that propagates displayDensity. */
-  val displayDensity: Flow<Int>
+  val displayDensity: Flow<Int?>
 
   /** A flow that propagates the default display density. */
   val defaultDisplayDensity: Flow<Int>
@@ -67,16 +67,14 @@
 
   private val _fontScale = MutableStateFlow(context.resources.configuration.fontScale)
   private val _displayDensity =
-    MutableStateFlow(
-      displayDensityUtils.defaultDisplayDensityValues[
-          displayDensityUtils.currentIndexForDefaultDisplay]
-    )
+    MutableStateFlow(displayDensityUtils.values?.let{
+      it[displayDensityUtils.currentIndex]
+    })
 
   override val fontScale: Flow<Float> = _fontScale.asStateFlow()
 
-  override val displayDensity: Flow<Int> = _displayDensity.asStateFlow()
+  override val displayDensity: Flow<Int?> = _displayDensity.asStateFlow()
 
   override val defaultDisplayDensity: Flow<Int> =
-    flowOf(displayDensityUtils.defaultDensityForDefaultDisplay)
-      .shareIn(scope, SharingStarted.Eagerly, 1)
+    flowOf(displayDensityUtils.defaultDensity).shareIn(scope, SharingStarted.Eagerly, 1)
 }
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/UdfpsEnrollInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/UdfpsEnrollInteractor.kt
index 006060a..62c51ae 100644
--- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/UdfpsEnrollInteractor.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/UdfpsEnrollInteractor.kt
@@ -19,6 +19,7 @@
 import android.content.Context
 import android.graphics.PointF
 import android.util.TypedValue
+import kotlinx.coroutines.MainScope
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.combine
@@ -87,7 +88,7 @@
   override val guidedEnrollmentOffset: Flow<PointF> =
     combine(
       _guidedEnrollment,
-      accessibilityInteractor.isAccessibilityEnabled,
+      accessibilityInteractor.isEnabledFlow(MainScope()),
       isGuidedEnrollment,
     ) { point, accessibilityEnabled, guidedEnrollmentEnabled ->
       if (accessibilityEnabled || !guidedEnrollmentEnabled) {
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerEnrollState.kt b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerEnrollState.kt
index e087304..1d368c0 100644
--- a/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerEnrollState.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerEnrollState.kt
@@ -35,10 +35,13 @@
   data class EnrollHelp(@StringRes val helpMsgId: Int, val helpString: String) :
     FingerEnrollState()
 
-  /** Represents that an unrecoverable error has been encountered and the operation is complete. */
+  /** Represents that an unrecoverable error has been encountered and the operation is complete.
+   * Note that errorId is the raw error id from [FingerprintManager]
+   */
   data class EnrollError(
     @StringRes val errTitle: Int,
     @StringRes val errString: Int,
+    val errorId: Int,
     val shouldRetryEnrollment: Boolean,
     val isCancelled: Boolean,
   ) : FingerEnrollState()
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt
index 77d070e..dc89c93 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt
@@ -149,11 +149,11 @@
     super.onConfigurationChanged(newConfig)
     foldStateInteractor.onConfigurationChange(newConfig)
     val displayDensityUtils = DisplayDensityUtils(applicationContext)
-    val currIndex = displayDensityUtils.currentIndexForDefaultDisplay
+    val currIndex = displayDensityUtils.currentIndex
     displayDensityInteractor.updateFontScale(resources.configuration.fontScale)
-    displayDensityInteractor.updateDisplayDensity(
-      displayDensityUtils.defaultDisplayDensityValues[currIndex]
-    )
+    displayDensityUtils.values?.let {
+      displayDensityInteractor.updateDisplayDensity(it[currIndex])
+    }
   }
 
   private fun onConfirmDevice(resultCode: Int, data: Intent?) {
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/udfps/ui/viewmodel/UdfpsViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/udfps/ui/viewmodel/UdfpsViewModel.kt
index 658c6c7..df46aa4 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/udfps/ui/viewmodel/UdfpsViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/udfps/ui/viewmodel/UdfpsViewModel.kt
@@ -179,7 +179,7 @@
 
   /** Indicates if accessibility is enabled */
   val accessibilityEnabled =
-    accessibilityInteractor.isAccessibilityEnabled.shareIn(
+    accessibilityInteractor.isEnabledFlow(viewModelScope).shareIn(
       this.viewModelScope,
       SharingStarted.Eagerly,
       replay = 1,
@@ -425,7 +425,7 @@
           biometricEnvironment.enrollStageInteractor,
           biometricEnvironment.orientationInteractor,
           biometricEnvironment.udfpsEnrollInteractor,
-          biometricEnvironment.accessibilityInteractor,
+          biometricEnvironment.createAccessibilityInteractor(),
           biometricEnvironment.sensorInteractor,
           biometricEnvironment.touchEventInteractor,
           biometricEnvironment.createSensorPropertiesInteractor(),
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
index 9b2cdde..b27cfdd 100644
--- a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
@@ -84,7 +84,7 @@
 
   /** Represents the stream of showing udfps lottie and whether accessibility is enabled. */
   val udfpsLottieInfo: Flow<Boolean> =
-    _showUdfpsLottie.combine(accessibilityInteractor.isAccessibilityEnabled) {
+    _showUdfpsLottie.combine(accessibilityInteractor.isEnabledFlow(viewModelScope)) {
       _,
       isAccessibilityEnabled ->
       isAccessibilityEnabled
@@ -213,7 +213,7 @@
           provider[FingerprintGatekeeperViewModel::class],
           provider[BackgroundViewModel::class],
           provider[FingerprintFlowViewModel::class],
-          biometricEnvironment.accessibilityInteractor,
+          biometricEnvironment.createAccessibilityInteractor(),
           biometricEnvironment.foldStateInteractor,
           biometricEnvironment.orientationInteractor,
           biometricEnvironment.createSensorPropertiesInteractor(),
diff --git a/src/com/android/settings/bluetooth/ui/model/DeviceSettingPreferenceModel.kt b/src/com/android/settings/bluetooth/ui/model/DeviceSettingPreferenceModel.kt
index ba6d1a6..f4992da 100644
--- a/src/com/android/settings/bluetooth/ui/model/DeviceSettingPreferenceModel.kt
+++ b/src/com/android/settings/bluetooth/ui/model/DeviceSettingPreferenceModel.kt
@@ -44,6 +44,7 @@
         val icon: DeviceSettingIcon? = null,
         val checked: Boolean,
         val onCheckedChange: ((Boolean) -> Unit),
+        val disabled: Boolean = false,
         val action: DeviceSettingActionModel? = null,
     ) : DeviceSettingPreferenceModel
 
diff --git a/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt
index 5418a04..ad4176f 100644
--- a/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt
+++ b/src/com/android/settings/bluetooth/ui/view/DeviceDetailsFragmentFormatter.kt
@@ -139,7 +139,7 @@
             viewModel
                 .getItems(fragmentType)
                 ?.filterIsInstance<DeviceSettingConfigItemModel.BuiltinItem.BluetoothProfilesItem>()
-                ?.first()
+                ?.firstOrNull()
                 ?.invisibleProfiles
         }
 
@@ -306,6 +306,7 @@
                 override val onCheckedChange = { newChecked: Boolean ->
                     model.onCheckedChange(newChecked)
                 }
+                override val changeable = { !model.disabled }
                 override val icon: (@Composable () -> Unit)?
                     get() {
                         if (model.icon == null) {
diff --git a/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModel.kt b/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModel.kt
index a9444a5..3b7a582 100644
--- a/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModel.kt
+++ b/src/com/android/settings/bluetooth/ui/viewmodel/BluetoothDeviceDetailsViewModel.kt
@@ -58,6 +58,8 @@
             deviceSettingRepository.getDeviceSettingsConfig(cachedDevice)
         }
 
+    private val spatialAudioModel by lazy { spatialAudioInteractor.getDeviceSetting(cachedDevice) }
+
     suspend fun getItems(fragment: FragmentTypeModel): List<DeviceSettingConfigItemModel>? =
         when (fragment) {
             is FragmentTypeModel.DeviceDetailsMainFragment -> items.await()?.mainItems
@@ -81,7 +83,7 @@
         }
         return when (settingId) {
             DeviceSettingId.DEVICE_SETTING_ID_SPATIAL_AUDIO_MULTI_TOGGLE ->
-                spatialAudioInteractor.getDeviceSetting(cachedDevice)
+                spatialAudioModel
             else -> deviceSettingRepository.getDeviceSetting(cachedDevice, settingId)
         }.map { it?.toPreferenceModel() }
     }
@@ -101,6 +103,7 @@
                                 DeviceSettingStateModel.ActionSwitchPreferenceState(newState)
                             )
                         },
+                        disabled = !isAllowedChangingState,
                         action = action,
                     )
                 } else {
diff --git a/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java b/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
index 66f2f1b..90ef5b9 100644
--- a/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/BluetoothDashboardFragment.java
@@ -21,6 +21,8 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
@@ -120,4 +122,9 @@
      */
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.bluetooth_screen);
+
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return BluetoothDashboardScreen.KEY;
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/BluetoothDashboardScreen.kt b/src/com/android/settings/connecteddevice/BluetoothDashboardScreen.kt
new file mode 100644
index 0000000..66fd8b1
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/BluetoothDashboardScreen.kt
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2024 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.connecteddevice
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class BluetoothDashboardScreen : PreferenceScreenCreator {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.bluetooth_settings_title
+
+    override val icon: Int
+        get() = R.drawable.ic_settings_bluetooth
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystBluetoothSwitchbarScreen()
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun fragmentClass() = BluetoothDashboardFragment::class.java
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "bluetooth_switchbar_screen"
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java
index 0b6b8c9..7ff7844 100644
--- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java
@@ -85,6 +85,10 @@
                 mButtonView.setText(btnText);
                 mButtonView.setOnClickListener(
                         v -> mOnClickListener.onClick(mDevices.get(position)));
+                if (position == 0) {
+                    mButtonView.setBackgroundResource(
+                            com.android.settingslib.R.drawable.audio_sharing_rounded_bg_ripple_top);
+                }
             } else {
                 Log.w(TAG, "bind view skipped due to button view is null");
             }
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 3e92d5f..117364f 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -60,6 +60,7 @@
 import com.android.settings.applications.appinfo.WriteSettingsDetails;
 import com.android.settings.applications.appops.BackgroundCheckSummary;
 import com.android.settings.applications.assist.ManageAssist;
+import com.android.settings.applications.contacts.ContactsStorageSettings;
 import com.android.settings.applications.manageapplications.ManageApplications;
 import com.android.settings.applications.managedomainurls.ManageDomainUrls;
 import com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminSettings;
@@ -401,7 +402,8 @@
             AccessibilityHearingAidsFragment.class.getName(),
             HearingDevicePairingFragment.class.getName(),
             ZenModesListFragment.class.getName(),
-            ZenModeFragment.class.getName()
+            ZenModeFragment.class.getName(),
+            ContactsStorageSettings.class.getName()
     };
 
     public static final String[] SETTINGS_FOR_RESTRICTED = {
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index 09b7503..8a970fb 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -712,6 +712,7 @@
         controllers.add(new WirelessDebuggingPreferenceController(context, lifecycle));
         controllers.add(new AdbAuthorizationTimeoutPreferenceController(context));
         controllers.add(new LocalTerminalPreferenceController(context));
+        controllers.add(new LinuxTerminalPreferenceController(context));
         controllers.add(new BugReportInPowerPreferenceController(context));
         controllers.add(new AutomaticSystemServerHeapDumpPreferenceController(context));
         controllers.add(new MockLocationAppPreferenceController(context, fragment));
diff --git a/src/com/android/settings/development/LinuxTerminalPreferenceController.java b/src/com/android/settings/development/LinuxTerminalPreferenceController.java
new file mode 100644
index 0000000..3e419e4
--- /dev/null
+++ b/src/com/android/settings/development/LinuxTerminalPreferenceController.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2024 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.content.pm.PackageManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+public class LinuxTerminalPreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+    private static final String TAG = "LinuxTerminalPrefCtrl";
+
+    private static final String ENABLE_TERMINAL_KEY = "enable_linux_terminal";
+
+    @NonNull
+    private final PackageManager mPackageManager;
+
+    @Nullable
+    private final String mTerminalPackageName;
+
+    public LinuxTerminalPreferenceController(@NonNull Context context) {
+        super(context);
+        mPackageManager = mContext.getPackageManager();
+
+        String packageName = mContext.getString(R.string.config_linux_terminal_app_package_name);
+        mTerminalPackageName =
+                isPackageInstalled(mPackageManager, packageName) ? packageName : null;
+
+        Log.d(TAG, "Terminal app package name=" + packageName + ", isAvailable=" + isAvailable());
+    }
+
+    // Avoid lazy initialization because this may be called before displayPreference().
+    @Override
+    public boolean isAvailable() {
+        // Returns true only if the terminal app is installed which only happens when the build flag
+        // RELEASE_AVF_SUPPORT_CUSTOM_VM_WITH_PARAVIRTUALIZED_DEVICES is true.
+        // TODO(b/343795511): Add explicitly check for the flag when it's accessible from Java code.
+        return getTerminalPackageName() != null;
+    }
+
+    @Override
+    @NonNull
+    public String getPreferenceKey() {
+        return ENABLE_TERMINAL_KEY;
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference.setEnabled(isAvailable());
+    }
+
+    @Override
+    public boolean onPreferenceChange(
+                @NonNull Preference preference, @NonNull Object newValue) {
+        String packageName = getTerminalPackageName();
+        if (packageName == null) {
+            return false;
+        }
+
+        boolean terminalEnabled = (Boolean) newValue;
+        int state = terminalEnabled
+                ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
+                : PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;
+        mPackageManager.setApplicationEnabledSetting(packageName, state, /* flags=*/ 0);
+        ((TwoStatePreference) mPreference).setChecked(terminalEnabled);
+        return true;
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        String packageName = getTerminalPackageName();
+        if (packageName == null) {
+            return;
+        }
+
+        boolean isTerminalEnabled = mPackageManager.getApplicationEnabledSetting(packageName)
+                == PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
+        ((TwoStatePreference) mPreference).setChecked(isTerminalEnabled);
+    }
+
+    // Can be mocked for testing
+    @VisibleForTesting
+    @Nullable
+    String getTerminalPackageName() {
+        return mTerminalPackageName;
+    }
+
+    private static boolean isPackageInstalled(PackageManager manager, String packageName) {
+        if (TextUtils.isEmpty(packageName)) {
+            return false;
+        }
+        try {
+            return manager.getPackageInfo(
+                    packageName,
+                    PackageManager.MATCH_ALL | PackageManager.MATCH_DISABLED_COMPONENTS) != null;
+        } catch (PackageManager.NameNotFoundException e) {
+            return false;
+        }
+    }
+}
diff --git a/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoFeatureProvider.kt b/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoFeatureProvider.kt
index e9866d7..4b2666f 100644
--- a/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoFeatureProvider.kt
+++ b/src/com/android/settings/deviceinfo/hardwareinfo/HardwareInfoFeatureProvider.kt
@@ -27,5 +27,5 @@
     /**
      * The country of origin label.
      */
-    val countryIfOriginLabel: String
+    val countryOfOriginLabel: String
 }
diff --git a/src/com/android/settings/display/DisplayScreen.kt b/src/com/android/settings/display/DisplayScreen.kt
index 9886e4a..7b1d000 100644
--- a/src/com/android/settings/display/DisplayScreen.kt
+++ b/src/com/android/settings/display/DisplayScreen.kt
@@ -20,18 +20,26 @@
 import com.android.settings.R
 import com.android.settings.flags.Flags
 import com.android.settingslib.metadata.PreferenceAvailabilityProvider
+import com.android.settingslib.metadata.PreferenceIconProvider
 import com.android.settingslib.metadata.ProvidePreferenceScreen
 import com.android.settingslib.metadata.preferenceHierarchy
 import com.android.settingslib.preference.PreferenceScreenCreator
 
 @ProvidePreferenceScreen
-class DisplayScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider {
+class DisplayScreen :
+    PreferenceScreenCreator, PreferenceAvailabilityProvider, PreferenceIconProvider {
     override val key: String
         get() = KEY
 
     override val title: Int
         get() = R.string.display_settings
 
+    override fun getIcon(context: Context) =
+        when {
+            Flags.homepageRevamp() -> R.drawable.ic_settings_display_filled
+            else -> R.drawable.ic_settings_display_white
+        }
+
     override fun isFlagEnabled(context: Context) = Flags.catalystDisplaySettingsScreen()
 
     override fun hasCompleteHierarchy() = false
diff --git a/src/com/android/settings/display/ScreenResolutionFragment.java b/src/com/android/settings/display/ScreenResolutionFragment.java
index a2ad25f..d9718f6 100644
--- a/src/com/android/settings/display/ScreenResolutionFragment.java
+++ b/src/com/android/settings/display/ScreenResolutionFragment.java
@@ -325,11 +325,10 @@
             }
 
             final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
-            final int currentIndex = density.getCurrentIndexForDefaultDisplay();
-            final int defaultDensity = density.getDefaultDensityForDefaultDisplay();
+            final int currentIndex = density.getCurrentIndex();
+            final int defaultDensity = density.getDefaultDensity();
 
-            if (density.getDefaultDisplayDensityValues()[mCurrentIndex]
-                    == density.getDefaultDensityForDefaultDisplay()) {
+            if (density.getValues()[mCurrentIndex] == density.getDefaultDensity()) {
                 return;
             }
 
@@ -373,20 +372,19 @@
             /* If current density is the same as a default density of other resolutions,
              * then mCurrentIndex may be out of boundary.
              */
-            if (density.getDefaultDisplayDensityValues().length <= mCurrentIndex) {
-                mCurrentIndex = density.getCurrentIndexForDefaultDisplay();
+            if (density.getValues().length <= mCurrentIndex) {
+                mCurrentIndex = density.getCurrentIndex();
             }
-            if (density.getDefaultDisplayDensityValues()[mCurrentIndex]
-                    != density.getDefaultDensityForDefaultDisplay()) {
+            if (density.getValues()[mCurrentIndex] != density.getDefaultDensity()) {
                 density.setForcedDisplayDensity(mCurrentIndex);
             }
 
-            mDefaultDensity = density.getDefaultDensityForDefaultDisplay();
+            mDefaultDensity = density.getDefaultDensity();
         }
 
         private boolean isDensityChanged() {
             final DisplayDensityUtils density = new DisplayDensityUtils(mContext);
-            if (density.getDefaultDensityForDefaultDisplay() == mDefaultDensity) {
+            if (density.getDefaultDensity() == mDefaultDensity) {
                 return false;
             }
 
diff --git a/src/com/android/settings/display/ScreenZoomPreference.java b/src/com/android/settings/display/ScreenZoomPreference.java
index af77a0e..f47d7da 100644
--- a/src/com/android/settings/display/ScreenZoomPreference.java
+++ b/src/com/android/settings/display/ScreenZoomPreference.java
@@ -36,13 +36,13 @@
                 android.R.attr.preferenceStyle));
 
         final DisplayDensityUtils density = new DisplayDensityUtils(context);
-        final int defaultIndex = density.getCurrentIndexForDefaultDisplay();
+        final int defaultIndex = density.getCurrentIndex();
         if (defaultIndex < 0) {
             setVisible(false);
             setEnabled(false);
         } else if (TextUtils.isEmpty(getSummary())) {
-            final String[] entries = density.getDefaultDisplayDensityEntries();
-            final int currentIndex = density.getCurrentIndexForDefaultDisplay();
+            final String[] entries = density.getEntries();
+            final int currentIndex = density.getCurrentIndex();
             setSummary(entries[currentIndex]);
         }
     }
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index e922f70..28d7d58 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -26,13 +26,10 @@
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.UserHandle;
-import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
 
-import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
@@ -48,7 +45,6 @@
 import com.android.settings.fuelgauge.batteryusage.BatteryEntry;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -67,9 +63,7 @@
  * 2. Battery related controls for app(i.e uninstall, force stop)
  */
 public class AdvancedPowerUsageDetail extends DashboardFragment
-        implements ButtonActionDialogFragment.AppButtonsDialogListener,
-                Preference.OnPreferenceClickListener,
-                Preference.OnPreferenceChangeListener {
+        implements ButtonActionDialogFragment.AppButtonsDialogListener {
     public static final String TAG = "AdvancedPowerDetail";
     public static final String EXTRA_UID = "extra_uid";
     public static final String EXTRA_PACKAGE_NAME = "extra_package_name";
@@ -86,7 +80,8 @@
     public static final String EXTRA_POWER_USAGE_AMOUNT = "extra_power_usage_amount";
 
     private static final String KEY_PREF_HEADER = "header_view";
-    private static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
+    private static final String KEY_BACKGROUND_USAGE_ALLOWABILITY_CATEGORY =
+            "background_usage_allowability_category";
 
     private static final int REQUEST_UNINSTALL = 0;
     private static final int REQUEST_REMOVE_DEVICE_ADMIN = 1;
@@ -96,11 +91,9 @@
     private AppButtonsPreferenceController mAppButtonsPreferenceController;
     private PowerUsageTimeController mPowerUsageTimeController;
 
-    @VisibleForTesting LayoutPreference mHeaderPreference;
     @VisibleForTesting ApplicationsState mState;
     @VisibleForTesting ApplicationsState.AppEntry mAppEntry;
     @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
-    @VisibleForTesting PrimarySwitchPreference mAllowBackgroundUsagePreference;
 
     @VisibleForTesting @BatteryOptimizeUtils.OptimizationMode
     int mOptimizationMode = BatteryOptimizeUtils.MODE_UNKNOWN;
@@ -242,17 +235,11 @@
     public void onAttach(Activity activity) {
         super.onAttach(activity);
 
+        final Bundle bundle = getArguments();
+        final int uid = bundle.getInt(EXTRA_UID, 0);
+        final String packageName = bundle.getString(EXTRA_PACKAGE_NAME);
+        mBatteryOptimizeUtils = new BatteryOptimizeUtils(getContext(), uid, packageName);
         mState = ApplicationsState.getInstance(getActivity().getApplication());
-    }
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        final String packageName = getArguments().getString(EXTRA_PACKAGE_NAME);
-        onCreateBackgroundUsageState(packageName);
-        mHeaderPreference = findPreference(KEY_PREF_HEADER);
-
         if (packageName != null) {
             mAppEntry = mState.getEntry(packageName, UserHandle.myUserId());
         }
@@ -264,7 +251,6 @@
 
         initHeader();
         mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
-        initFooter();
         mLogStringBuilder = new StringBuilder("onResume mode = ").append(mOptimizationMode);
     }
 
@@ -299,7 +285,8 @@
 
     @VisibleForTesting
     void initHeader() {
-        final View appSnippet = mHeaderPreference.findViewById(R.id.entity_header);
+        final LayoutPreference headerPreference = findPreference(KEY_PREF_HEADER);
+        final View appSnippet = headerPreference.findViewById(R.id.entity_header);
         final Activity context = getActivity();
         final Bundle bundle = getArguments();
         EntityHeaderController controller =
@@ -340,31 +327,6 @@
         controller.done(true /* rebindActions */);
     }
 
-    @VisibleForTesting
-    void initFooter() {
-        final String stateString;
-        final String detailInfoString;
-        final Context context = getContext();
-
-        if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
-            // Present optimized only string when the package name is invalid.
-            stateString = context.getString(R.string.manager_battery_usage_optimized_only);
-            detailInfoString =
-                    context.getString(R.string.manager_battery_usage_footer_limited, stateString);
-        } else if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) {
-            // Present unrestricted only string when the package is system or default active app.
-            stateString = context.getString(R.string.manager_battery_usage_unrestricted_only);
-            detailInfoString =
-                    context.getString(R.string.manager_battery_usage_footer_limited, stateString);
-        } else {
-            // Present default string to normal app.
-            detailInfoString =
-                    context.getString(
-                            R.string.manager_battery_usage_allow_background_usage_summary);
-        }
-        mAllowBackgroundUsagePreference.setSummary(detailInfoString);
-    }
-
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.FUELGAUGE_POWER_USAGE_DETAIL;
@@ -384,7 +346,6 @@
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         final Bundle bundle = getArguments();
-        final int uid = bundle.getInt(EXTRA_UID, 0);
         final String packageName = bundle.getString(EXTRA_PACKAGE_NAME);
 
         mAppButtonsPreferenceController =
@@ -401,7 +362,12 @@
             controllers.add(mPowerUsageTimeController);
         }
         controllers.add(mAppButtonsPreferenceController);
-        controllers.add(new AllowBackgroundPreferenceController(context, uid, packageName));
+        controllers.add(
+                new BackgroundUsageAllowabilityPreferenceController(
+                        context,
+                        /* dashboardFragment= */ this,
+                        KEY_BACKGROUND_USAGE_ALLOWABILITY_CATEGORY,
+                        mBatteryOptimizeUtils));
 
         return controllers;
     }
@@ -421,34 +387,6 @@
         }
     }
 
-    @Override
-    public boolean onPreferenceClick(Preference preference) {
-        if (!(preference instanceof PrimarySwitchPreference)
-                || !TextUtils.equals(preference.getKey(), KEY_ALLOW_BACKGROUND_USAGE)) {
-            return false;
-        }
-        PowerBackgroundUsageDetail.startPowerBackgroundUsageDetailPage(
-                getContext(), getArguments());
-        return true;
-    }
-
-    @Override
-    public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
-        if (!(preference instanceof PrimarySwitchPreference)
-                || !TextUtils.equals(preference.getKey(), KEY_ALLOW_BACKGROUND_USAGE)) {
-            return false;
-        }
-        if (newValue instanceof Boolean) {
-            final boolean isAllowBackgroundUsage = (boolean) newValue;
-            mBatteryOptimizeUtils.setAppUsageState(
-                    isAllowBackgroundUsage
-                            ? BatteryOptimizeUtils.MODE_OPTIMIZED
-                            : BatteryOptimizeUtils.MODE_RESTRICTED,
-                    Action.APPLY);
-        }
-        return true;
-    }
-
     private void logMetricCategory(int currentOptimizeMode) {
         if (currentOptimizeMode == mOptimizationMode) {
             return;
@@ -482,16 +420,4 @@
                                     getArguments().getInt(EXTRA_POWER_USAGE_AMOUNT));
                 });
     }
-
-    private void onCreateBackgroundUsageState(String packageName) {
-        mAllowBackgroundUsagePreference = findPreference(KEY_ALLOW_BACKGROUND_USAGE);
-        if (mAllowBackgroundUsagePreference != null) {
-            mAllowBackgroundUsagePreference.setOnPreferenceClickListener(this);
-            mAllowBackgroundUsagePreference.setOnPreferenceChangeListener(this);
-        }
-
-        mBatteryOptimizeUtils =
-                new BatteryOptimizeUtils(
-                        getContext(), getArguments().getInt(EXTRA_UID), packageName);
-    }
 }
diff --git a/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java b/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java
deleted file mode 100644
index 52cec795..0000000
--- a/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2023 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.fuelgauge;
-
-import android.content.Context;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.PrimarySwitchPreference;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.widget.MainSwitchPreference;
-
-/** Controller to update the app background usage state */
-public class AllowBackgroundPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String TAG = "AllowBackgroundPreferenceController";
-
-    @VisibleForTesting static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
-
-    @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
-
-    public AllowBackgroundPreferenceController(Context context, int uid, String packageName) {
-        super(context);
-        mBatteryOptimizeUtils = new BatteryOptimizeUtils(context, uid, packageName);
-    }
-
-    private void setChecked(Preference preference, boolean checked) {
-        if (preference instanceof PrimarySwitchPreference) {
-            ((PrimarySwitchPreference) preference).setChecked(checked);
-        } else if (preference instanceof MainSwitchPreference) {
-            ((MainSwitchPreference) preference).setChecked(checked);
-        }
-    }
-
-    private void setEnabled(Preference preference, boolean enabled) {
-        if (preference instanceof PrimarySwitchPreference) {
-            ((PrimarySwitchPreference) preference).setEnabled(enabled);
-            ((PrimarySwitchPreference) preference).setSwitchEnabled(enabled);
-        } else if (preference instanceof MainSwitchPreference) {
-            ((MainSwitchPreference) preference).setEnabled(enabled);
-        }
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        setEnabled(preference, mBatteryOptimizeUtils.isOptimizeModeMutable());
-
-        final boolean isAllowBackground =
-                mBatteryOptimizeUtils.getAppOptimizationMode()
-                        != BatteryOptimizeUtils.MODE_RESTRICTED;
-        setChecked(preference, isAllowBackground);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_ALLOW_BACKGROUND_USAGE;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        return getPreferenceKey().equals(preference.getKey());
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/BackgroundUsageAllowabilityPreferenceController.java b/src/com/android/settings/fuelgauge/BackgroundUsageAllowabilityPreferenceController.java
new file mode 100644
index 0000000..bce439b
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/BackgroundUsageAllowabilityPreferenceController.java
@@ -0,0 +1,140 @@
+/*
+ * Copyright (C) 2024 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.fuelgauge;
+
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.PrimarySwitchPreference;
+
+/** Controller to update the manage battery usage preference in App Battery Usage page */
+public class BackgroundUsageAllowabilityPreferenceController extends BasePreferenceController
+        implements PreferenceControllerMixin {
+
+    @VisibleForTesting
+    static final String KEY_BACKGROUND_USAGE_ALLOWABILITY_SWITCH =
+            "background_usage_allowability_switch";
+
+    private final BatteryOptimizeUtils mBatteryOptimizeUtils;
+    private final DashboardFragment mDashboardFragment;
+    @Nullable @VisibleForTesting PrimarySwitchPreference mBackgroundUsageAllowabilityPreference;
+
+    public BackgroundUsageAllowabilityPreferenceController(
+            @NonNull Context context,
+            @NonNull DashboardFragment dashboardFragment,
+            @NonNull String preferenceKey,
+            @NonNull BatteryOptimizeUtils batteryOptimizeUtils) {
+        super(context, preferenceKey);
+        mDashboardFragment = dashboardFragment;
+        mBatteryOptimizeUtils = batteryOptimizeUtils;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        updatePreferences(mBatteryOptimizeUtils.getAppOptimizationMode());
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mBackgroundUsageAllowabilityPreference =
+                screen.findPreference(KEY_BACKGROUND_USAGE_ALLOWABILITY_SWITCH);
+        initPreferences();
+    }
+
+    @VisibleForTesting
+    void initPreferences() {
+        if (mBackgroundUsageAllowabilityPreference == null) {
+            return;
+        }
+        final String stateString;
+        final String detailInfoString;
+        boolean isPreferenceEnabled = true;
+        if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
+            // Present "Optimized" only string if the package name is invalid.
+            stateString = mContext.getString(R.string.manager_battery_usage_optimized_only);
+            detailInfoString =
+                    mContext.getString(R.string.manager_battery_usage_footer_limited, stateString);
+            isPreferenceEnabled = false;
+        } else if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) {
+            // Present "Unrestricted" only string if the package is system important apps.
+            stateString = mContext.getString(R.string.manager_battery_usage_unrestricted_only);
+            detailInfoString =
+                    mContext.getString(R.string.manager_battery_usage_footer_limited, stateString);
+            isPreferenceEnabled = false;
+        } else {
+            // Present default string to normal app.
+            detailInfoString =
+                    mContext.getString(
+                            R.string.manager_battery_usage_allow_background_usage_summary);
+        }
+        mBackgroundUsageAllowabilityPreference.setEnabled(isPreferenceEnabled);
+        mBackgroundUsageAllowabilityPreference.setSwitchEnabled(isPreferenceEnabled);
+        mBackgroundUsageAllowabilityPreference.setSummary(detailInfoString);
+        if (isPreferenceEnabled) {
+            mBackgroundUsageAllowabilityPreference.setOnPreferenceClickListener(
+                    preference -> {
+                        PowerBackgroundUsageDetail.startPowerBackgroundUsageDetailPage(
+                                mContext, mDashboardFragment.getArguments());
+                        return true;
+                    });
+            mBackgroundUsageAllowabilityPreference.setOnPreferenceChangeListener(
+                    (preference, isAllowBackground) -> {
+                        handleBatteryOptimizeModeUpdated(
+                                (boolean) isAllowBackground
+                                        ? BatteryOptimizeUtils.MODE_OPTIMIZED
+                                        : BatteryOptimizeUtils.MODE_RESTRICTED);
+                        return true;
+                    });
+        }
+    }
+
+    @VisibleForTesting
+    void handleBatteryOptimizeModeUpdated(int newBatteryOptimizeMode) {
+        if (mBatteryOptimizeUtils.getAppOptimizationMode() == newBatteryOptimizeMode) {
+            Log.w(TAG, "ignore same mode for: " + mBatteryOptimizeUtils.getPackageName());
+            return;
+        }
+        mBatteryOptimizeUtils.setAppUsageState(
+                newBatteryOptimizeMode, BatteryOptimizeHistoricalLogEntry.Action.APPLY);
+        updatePreferences(newBatteryOptimizeMode);
+    }
+
+    @VisibleForTesting
+    void updatePreferences(int optimizationMode) {
+        if (mBackgroundUsageAllowabilityPreference == null) {
+            return;
+        }
+        mBackgroundUsageAllowabilityPreference.setChecked(
+                optimizationMode != BatteryOptimizeUtils.MODE_RESTRICTED);
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/BatteryBackupHelper.java b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
index 5822397..651a1b2 100644
--- a/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
+++ b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
@@ -196,7 +196,9 @@
                     appOptModeMap.containsKey(info.uid)
                             ? (int) appOptModeMap.get(info.uid).getResetOptimizationMode()
                             : BatteryOptimizeUtils.getAppOptimizationMode(
-                                    mode, allowlistedApps.contains(info.packageName));
+                                    mode,
+                                    allowlistedApps.contains(info.packageName),
+                                    /* ignoreUnknownMode= */ false);
             // Ignores default optimized/unknown state or system/default apps.
             if (optimizationMode == BatteryOptimizeUtils.MODE_OPTIMIZED
                     || optimizationMode == BatteryOptimizeUtils.MODE_UNKNOWN
diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizationModePreferenceController.java b/src/com/android/settings/fuelgauge/BatteryOptimizationModePreferenceController.java
new file mode 100644
index 0000000..0a4cbac
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizationModePreferenceController.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (C) 2024 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.fuelgauge;
+
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.widget.MainSwitchPreference;
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+/** Controller to update the app background usage mode state in Allow background usage page */
+public class BatteryOptimizationModePreferenceController extends BasePreferenceController
+        implements PreferenceControllerMixin {
+
+    @VisibleForTesting
+    static final String KEY_BACKGROUND_USAGE_ALLOWABILITY_SWITCH =
+            "background_usage_allowability_switch";
+
+    @VisibleForTesting static final String KEY_OPTIMIZED_PREF = "optimized_preference";
+    @VisibleForTesting static final String KEY_UNRESTRICTED_PREF = "unrestricted_preference";
+
+    private final BatteryOptimizeUtils mBatteryOptimizeUtils;
+    @Nullable @VisibleForTesting MainSwitchPreference mBackgroundUsageAllowabilityPreference;
+    @Nullable @VisibleForTesting SelectorWithWidgetPreference mOptimizedPreference;
+    @Nullable @VisibleForTesting SelectorWithWidgetPreference mUnrestrictedPreference;
+
+    public BatteryOptimizationModePreferenceController(
+            @NonNull Context context,
+            @NonNull String preferenceKey,
+            @NonNull BatteryOptimizeUtils batteryOptimizeUtils) {
+        super(context, preferenceKey);
+        mBatteryOptimizeUtils = batteryOptimizeUtils;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        updatePreferences(mBatteryOptimizeUtils.getAppOptimizationMode());
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mBackgroundUsageAllowabilityPreference =
+                screen.findPreference(KEY_BACKGROUND_USAGE_ALLOWABILITY_SWITCH);
+        mOptimizedPreference = screen.findPreference(KEY_OPTIMIZED_PREF);
+        mUnrestrictedPreference = screen.findPreference(KEY_UNRESTRICTED_PREF);
+        initPreferences();
+    }
+
+    @VisibleForTesting
+    void initPreferences() {
+        if (mBackgroundUsageAllowabilityPreference == null
+                || mOptimizedPreference == null
+                || mUnrestrictedPreference == null) {
+            return;
+        }
+        final boolean isEnabled = mBatteryOptimizeUtils.isOptimizeModeMutable();
+        mBackgroundUsageAllowabilityPreference.setEnabled(isEnabled);
+        mOptimizedPreference.setEnabled(isEnabled);
+        mUnrestrictedPreference.setEnabled(isEnabled);
+        if (isEnabled) {
+            mBackgroundUsageAllowabilityPreference.setOnPreferenceChangeListener(
+                    (preference, isAllowBackground) -> {
+                        handleBatteryOptimizeModeUpdated(
+                                (boolean) isAllowBackground
+                                        ? BatteryOptimizeUtils.MODE_OPTIMIZED
+                                        : BatteryOptimizeUtils.MODE_RESTRICTED);
+                        return true;
+                    });
+            mOptimizedPreference.setOnPreferenceClickListener(
+                    preference -> {
+                        handleBatteryOptimizeModeUpdated(BatteryOptimizeUtils.MODE_OPTIMIZED);
+                        return true;
+                    });
+            mUnrestrictedPreference.setOnPreferenceClickListener(
+                    preference -> {
+                        handleBatteryOptimizeModeUpdated(BatteryOptimizeUtils.MODE_UNRESTRICTED);
+                        return true;
+                    });
+        }
+    }
+
+    @VisibleForTesting
+    void updatePreferences(int optimizationMode) {
+        if (mBackgroundUsageAllowabilityPreference == null
+                || mOptimizedPreference == null
+                || mUnrestrictedPreference == null) {
+            return;
+        }
+        final boolean isAllowBackground = optimizationMode != BatteryOptimizeUtils.MODE_RESTRICTED;
+        mBackgroundUsageAllowabilityPreference.setChecked(isAllowBackground);
+        mOptimizedPreference.setEnabled(isAllowBackground);
+        mUnrestrictedPreference.setEnabled(isAllowBackground);
+        mOptimizedPreference.setChecked(optimizationMode == BatteryOptimizeUtils.MODE_OPTIMIZED);
+        mUnrestrictedPreference.setChecked(
+                optimizationMode == BatteryOptimizeUtils.MODE_UNRESTRICTED);
+    }
+
+    @VisibleForTesting
+    void handleBatteryOptimizeModeUpdated(int newBatteryOptimizeMode) {
+        if (mBatteryOptimizeUtils.getAppOptimizationMode() == newBatteryOptimizeMode) {
+            Log.w(TAG, "ignore same mode for: " + mBatteryOptimizeUtils.getPackageName());
+            return;
+        }
+        mBatteryOptimizeUtils.setAppUsageState(
+                newBatteryOptimizeMode, BatteryOptimizeHistoricalLogEntry.Action.APPLY);
+        updatePreferences(newBatteryOptimizeMode);
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
index 3233f0d..6c95823 100644
--- a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
@@ -100,7 +100,8 @@
 
     /** Gets the {@link OptimizationMode} based on mode and allowed list. */
     @OptimizationMode
-    public static int getAppOptimizationMode(int mode, boolean isAllowListed) {
+    public static int getAppOptimizationMode(
+            int mode, boolean isAllowListed, boolean ignoreUnknownMode) {
         if (!isAllowListed && mode == AppOpsManager.MODE_IGNORED) {
             return MODE_RESTRICTED;
         } else if (isAllowListed && mode == AppOpsManager.MODE_ALLOWED) {
@@ -108,13 +109,15 @@
         } else if (!isAllowListed && mode == AppOpsManager.MODE_ALLOWED) {
             return MODE_OPTIMIZED;
         } else {
-            return MODE_UNKNOWN;
+            // MODE_UNKNOWN = isAllowListed + AppOpsManager.MODE_IGNORED
+            // Return Unrestricted mode for Unknown mode since it is in allowlist.
+            return ignoreUnknownMode ? MODE_UNRESTRICTED : MODE_UNKNOWN;
         }
     }
 
     /** Gets the {@link OptimizationMode} for associated app. */
     @OptimizationMode
-    public int getAppOptimizationMode(boolean refreshList) {
+    public int getAppOptimizationMode(boolean refreshList, boolean ignoreUnknownMode) {
         if (refreshList) {
             mPowerAllowListBackend.refreshList();
         }
@@ -127,13 +130,13 @@
                 String.format(
                         "refresh %s state, allowlisted = %s, mode = %d",
                         mPackageName, mAllowListed, mMode));
-        return getAppOptimizationMode(mMode, mAllowListed);
+        return getAppOptimizationMode(mMode, mAllowListed, ignoreUnknownMode);
     }
 
     /** Gets the {@link OptimizationMode} for associated app. */
     @OptimizationMode
     public int getAppOptimizationMode() {
-        return getAppOptimizationMode(true);
+        return getAppOptimizationMode(/* refreshList= */ true, /* ignoreUnknownMode= */ true);
     }
 
     /** Resets optimization mode for all applications. */
@@ -246,10 +249,11 @@
             @OptimizationMode
             final int optimizationMode =
                     getAppOptimizationMode(
-                            mode, allowlistBackend.isAllowlisted(info.packageName, info.uid));
-            // Ignores default optimized/unknown state or system/default apps.
+                            mode,
+                            allowlistBackend.isAllowlisted(info.packageName, info.uid),
+                            /* ignoreUnknownMode= */ false);
+            // Ignores default optimized state or system/default apps.
             if (optimizationMode == MODE_OPTIMIZED
-                    || optimizationMode == MODE_UNKNOWN
                     || isSystemOrDefaultApp(
                             context, allowlistBackend, info.packageName, info.uid)) {
                 continue;
@@ -374,7 +378,8 @@
                         "\tStandbyMode: %s, allowListed: %s, mode: %s",
                         appStandbyMode,
                         allowListed,
-                        getAppOptimizationMode(appStandbyMode, allowListed));
+                        getAppOptimizationMode(
+                                appStandbyMode, allowListed, /* ignoreUnknownMode= */ false));
     }
 
     private static @DataChangeReason int toChangeReason(Action action) {
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsStorage.java b/src/com/android/settings/fuelgauge/BatterySettingsStorage.java
index 33a8025..eeebbec 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsStorage.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsStorage.java
@@ -347,7 +347,9 @@
                         appOptModeMap.containsKey(info.uid)
                                 ? (int) appOptModeMap.get(info.uid).getResetOptimizationMode()
                                 : BatteryOptimizeUtils.getAppOptimizationMode(
-                                        mode, mAllowlistedApps.contains(info.packageName));
+                                        mode,
+                                        mAllowlistedApps.contains(info.packageName),
+                                        /* ignoreUnknownMode= */ false);
                 // Ignores default optimized/unknown state or system/default apps.
                 if (optimizationMode == BatteryOptimizeUtils.MODE_OPTIMIZED
                         || optimizationMode == BatteryOptimizeUtils.MODE_UNKNOWN
diff --git a/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java b/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java
deleted file mode 100644
index a26ab7a..0000000
--- a/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java
+++ /dev/null
@@ -1,66 +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.fuelgauge;
-
-import android.content.Context;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
-
-public class OptimizedPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String TAG = "OPTIMIZED_PREF";
-
-    @VisibleForTesting static final String KEY_OPTIMIZED_PREF = "optimized_preference";
-    @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
-
-    public OptimizedPreferenceController(Context context, int uid, String packageName) {
-        super(context);
-        mBatteryOptimizeUtils = new BatteryOptimizeUtils(context, uid, packageName);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        preference.setEnabled(mBatteryOptimizeUtils.isSelectorPreferenceEnabled());
-
-        final boolean isOptimized =
-                mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()
-                        || mBatteryOptimizeUtils.getAppOptimizationMode()
-                                == BatteryOptimizeUtils.MODE_OPTIMIZED;
-        ((SelectorWithWidgetPreference) preference).setChecked(isOptimized);
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_OPTIMIZED_PREF;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        return getPreferenceKey().equals(preference.getKey());
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java b/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
index e59cc4ad..dadf2e8 100644
--- a/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
@@ -24,11 +24,8 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.UserHandle;
-import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
-import android.widget.CompoundButton;
-import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -44,8 +41,6 @@
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.widget.FooterPreference;
 import com.android.settingslib.widget.LayoutPreference;
-import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -53,8 +48,7 @@
 import java.util.concurrent.Executors;
 
 /** Allow background usage fragment for each app */
-public class PowerBackgroundUsageDetail extends DashboardFragment
-        implements SelectorWithWidgetPreference.OnClickListener, OnCheckedChangeListener {
+public class PowerBackgroundUsageDetail extends DashboardFragment {
     private static final String TAG = "PowerBackgroundUsageDetail";
 
     public static final String EXTRA_UID = "extra_uid";
@@ -63,21 +57,15 @@
     public static final String EXTRA_POWER_USAGE_AMOUNT = "extra_power_usage_amount";
     public static final String EXTRA_ICON_ID = "extra_icon_id";
     private static final String KEY_PREF_HEADER = "header_view";
-    private static final String KEY_PREF_UNRESTRICTED = "unrestricted_preference";
-    private static final String KEY_PREF_OPTIMIZED = "optimized_preference";
-    private static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
     private static final String KEY_FOOTER_PREFERENCE = "app_usage_footer_preference";
+    private static final String KEY_BATTERY_OPTIMIZATION_MODE_CATEGORY =
+            "battery_optimization_mode_category";
 
     private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
 
-    @VisibleForTesting LayoutPreference mHeaderPreference;
     @VisibleForTesting ApplicationsState mState;
     @VisibleForTesting ApplicationsState.AppEntry mAppEntry;
     @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
-    @VisibleForTesting SelectorWithWidgetPreference mOptimizePreference;
-    @VisibleForTesting SelectorWithWidgetPreference mUnrestrictedPreference;
-    @VisibleForTesting MainSwitchPreference mMainSwitchPreference;
-    @VisibleForTesting FooterPreference mFooterPreference;
     @VisibleForTesting StringBuilder mLogStringBuilder;
 
     @VisibleForTesting @BatteryOptimizeUtils.OptimizationMode
@@ -87,17 +75,11 @@
     public void onAttach(Activity activity) {
         super.onAttach(activity);
 
+        final Bundle bundle = getArguments();
+        final int uid = bundle.getInt(EXTRA_UID, 0);
+        final String packageName = bundle.getString(EXTRA_PACKAGE_NAME);
+        mBatteryOptimizeUtils = new BatteryOptimizeUtils(getContext(), uid, packageName);
         mState = ApplicationsState.getInstance(getActivity().getApplication());
-    }
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        final String packageName = getArguments().getString(EXTRA_PACKAGE_NAME);
-        onCreateBackgroundUsageState(packageName);
-        mHeaderPreference = findPreference(KEY_PREF_HEADER);
-
         if (packageName != null) {
             mAppEntry = mState.getEntry(packageName, UserHandle.myUserId());
         }
@@ -107,8 +89,8 @@
     public void onResume() {
         super.onResume();
         initHeader();
-        mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
         initFooter();
+        mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
         mLogStringBuilder = new StringBuilder("onResume mode = ").append(mOptimizationMode);
     }
 
@@ -137,34 +119,16 @@
     }
 
     @Override
-    public void onRadioButtonClicked(SelectorWithWidgetPreference selected) {
-        final String selectedKey = selected == null ? null : selected.getKey();
-        updateSelectorPreferenceState(mUnrestrictedPreference, selectedKey);
-        updateSelectorPreferenceState(mOptimizePreference, selectedKey);
-        mBatteryOptimizeUtils.setAppUsageState(getSelectedPreference(), Action.APPLY);
-    }
-
-    @Override
-    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-        mMainSwitchPreference.setChecked(isChecked);
-        updateSelectorPreference(isChecked);
-    }
-
-    @Override
     public int getMetricsCategory() {
         return SettingsEnums.FUELGAUGE_POWER_USAGE_MANAGE_BACKGROUND;
     }
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final Bundle bundle = getArguments();
-        final int uid = bundle.getInt(EXTRA_UID, 0);
-        final String packageName = bundle.getString(EXTRA_PACKAGE_NAME);
-
-        controllers.add(new AllowBackgroundPreferenceController(context, uid, packageName));
-        controllers.add(new OptimizedPreferenceController(context, uid, packageName));
-        controllers.add(new UnrestrictedPreferenceController(context, uid, packageName));
+        final List<AbstractPreferenceController> controllers = new ArrayList<>(1);
+        controllers.add(
+                new BatteryOptimizationModePreferenceController(
+                        context, KEY_BATTERY_OPTIMIZATION_MODE_CATEGORY, mBatteryOptimizeUtils));
 
         return controllers;
     }
@@ -179,26 +143,6 @@
         return TAG;
     }
 
-    @VisibleForTesting
-    void updateSelectorPreference(boolean isEnabled) {
-        mOptimizePreference.setEnabled(isEnabled);
-        mUnrestrictedPreference.setEnabled(isEnabled);
-        onRadioButtonClicked(isEnabled ? mOptimizePreference : null);
-    }
-
-    @VisibleForTesting
-    int getSelectedPreference() {
-        if (!mMainSwitchPreference.isChecked()) {
-            return BatteryOptimizeUtils.MODE_RESTRICTED;
-        } else if (mUnrestrictedPreference.isChecked()) {
-            return BatteryOptimizeUtils.MODE_UNRESTRICTED;
-        } else if (mOptimizePreference.isChecked()) {
-            return BatteryOptimizeUtils.MODE_OPTIMIZED;
-        } else {
-            return BatteryOptimizeUtils.MODE_UNKNOWN;
-        }
-    }
-
     static void startPowerBackgroundUsageDetailPage(Context context, Bundle args) {
         new SubSettingLauncher(context)
                 .setDestination(PowerBackgroundUsageDetail.class.getName())
@@ -209,7 +153,11 @@
 
     @VisibleForTesting
     void initHeader() {
-        final View appSnippet = mHeaderPreference.findViewById(R.id.entity_header);
+        final LayoutPreference headerPreference = findPreference(KEY_PREF_HEADER);
+        if (headerPreference == null) {
+            return;
+        }
+        final View appSnippet = headerPreference.findViewById(R.id.entity_header);
         final Activity context = getActivity();
         final Bundle bundle = getArguments();
         EntityHeaderController controller =
@@ -239,58 +187,25 @@
 
     @VisibleForTesting
     void initFooter() {
-        final String stateString;
-        final String footerString;
-        final Context context = getContext();
-
-        if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
-            // Present optimized only string when the package name is invalid.
-            stateString = context.getString(R.string.manager_battery_usage_optimized_only);
-            footerString =
-                    context.getString(R.string.manager_battery_usage_footer_limited, stateString);
-        } else if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) {
-            // Present unrestricted only string when the package is system or default active app.
-            stateString = context.getString(R.string.manager_battery_usage_unrestricted_only);
-            footerString =
-                    context.getString(R.string.manager_battery_usage_footer_limited, stateString);
-        } else {
-            // Present default string to normal app.
-            footerString = context.getString(R.string.manager_battery_usage_footer);
+        final FooterPreference footerPreference = findPreference(KEY_FOOTER_PREFERENCE);
+        if (footerPreference == null) {
+            return;
         }
-        mFooterPreference.setTitle(footerString);
+        final Context context = getContext();
+        footerPreference.setTitle(context.getString(R.string.manager_battery_usage_footer));
         final Intent helpIntent =
                 HelpUtils.getHelpIntent(
                         context,
                         context.getString(R.string.help_url_app_usage_settings),
                         /* backupContext= */ "");
         if (helpIntent != null) {
-            mFooterPreference.setLearnMoreAction(
+            footerPreference.setLearnMoreAction(
                     v -> startActivityForResult(helpIntent, /* requestCode= */ 0));
-            mFooterPreference.setLearnMoreText(
+            footerPreference.setLearnMoreText(
                     context.getString(R.string.manager_battery_usage_link_a11y));
         }
     }
 
-    private void onCreateBackgroundUsageState(String packageName) {
-        mOptimizePreference = findPreference(KEY_PREF_OPTIMIZED);
-        mUnrestrictedPreference = findPreference(KEY_PREF_UNRESTRICTED);
-        mMainSwitchPreference = findPreference(KEY_ALLOW_BACKGROUND_USAGE);
-        mFooterPreference = findPreference(KEY_FOOTER_PREFERENCE);
-
-        mOptimizePreference.setOnClickListener(this);
-        mUnrestrictedPreference.setOnClickListener(this);
-        mMainSwitchPreference.addOnSwitchChangeListener(this);
-
-        mBatteryOptimizeUtils =
-                new BatteryOptimizeUtils(
-                        getContext(), getArguments().getInt(EXTRA_UID), packageName);
-    }
-
-    private void updateSelectorPreferenceState(
-            SelectorWithWidgetPreference preference, String selectedKey) {
-        preference.setChecked(TextUtils.equals(selectedKey, preference.getKey()));
-    }
-
     private void logMetricCategory(int currentOptimizeMode) {
         if (currentOptimizeMode == mOptimizationMode) {
             return;
diff --git a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
index d948cc0..9b070f9 100644
--- a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
+++ b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.fuelgauge;
 
+import static com.android.settings.fuelgauge.BatteryOptimizeUtils.MODE_UNRESTRICTED;
+
 import android.Manifest;
 import android.content.DialogInterface;
 import android.content.pm.ApplicationInfo;
@@ -24,20 +26,20 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.PowerManager;
-import android.os.PowerWhitelistManager;
+import android.text.TextUtils;
 import android.util.Log;
 
 import com.android.internal.app.AlertActivity;
 import com.android.internal.app.AlertController;
 import com.android.settings.R;
+import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
 
 public class RequestIgnoreBatteryOptimizations extends AlertActivity
         implements DialogInterface.OnClickListener {
     private static final String TAG = "RequestIgnoreBatteryOptimizations";
     private static final boolean DEBUG = false;
 
-    private PowerWhitelistManager mPowerWhitelistManager;
-    private String mPackageName;
+    private ApplicationInfo mApplicationInfo;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -47,8 +49,6 @@
                         android.view.WindowManager.LayoutParams
                                 .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
 
-        mPowerWhitelistManager = getSystemService(PowerWhitelistManager.class);
-
         Uri data = getIntent().getData();
         if (data == null) {
             debugLog(
@@ -56,17 +56,18 @@
             finish();
             return;
         }
-        mPackageName = data.getSchemeSpecificPart();
-        if (mPackageName == null) {
+        final String packageName = data.getSchemeSpecificPart();
+        if (TextUtils.isEmpty(packageName)) {
             debugLog(
                     "No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: " + getIntent());
             finish();
             return;
         }
 
+        // Package in Unrestricted mode already ignoring the battery optimizations.
         PowerManager power = getSystemService(PowerManager.class);
-        if (power.isIgnoringBatteryOptimizations(mPackageName)) {
-            debugLog("Not should prompt, already ignoring optimizations: " + mPackageName);
+        if (power.isIgnoringBatteryOptimizations(packageName)) {
+            debugLog("Not should prompt, already ignoring optimizations: " + packageName);
             finish();
             return;
         }
@@ -74,29 +75,28 @@
         if (getPackageManager()
                         .checkPermission(
                                 Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,
-                                mPackageName)
+                                packageName)
                 != PackageManager.PERMISSION_GRANTED) {
             debugLog(
                     "Requested package "
-                            + mPackageName
+                            + packageName
                             + " does not hold permission "
                             + Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
             finish();
             return;
         }
 
-        ApplicationInfo ai;
         try {
-            ai = getPackageManager().getApplicationInfo(mPackageName, 0);
+            mApplicationInfo = getPackageManager().getApplicationInfo(packageName, 0);
         } catch (PackageManager.NameNotFoundException e) {
-            debugLog("Requested package doesn't exist: " + mPackageName);
+            debugLog("Requested package doesn't exist: " + packageName);
             finish();
             return;
         }
 
         final AlertController.AlertParams p = mAlertParams;
         final CharSequence appLabel =
-                ai.loadSafeLabel(
+                mApplicationInfo.loadSafeLabel(
                         getPackageManager(),
                         PackageItemInfo.DEFAULT_MAX_LABEL_SIZE_PX,
                         PackageItemInfo.SAFE_LABEL_FLAG_TRIM
@@ -114,7 +114,12 @@
     public void onClick(DialogInterface dialog, int which) {
         switch (which) {
             case BUTTON_POSITIVE:
-                mPowerWhitelistManager.addToWhitelist(mPackageName);
+                BatteryOptimizeUtils batteryOptimizeUtils =
+                        new BatteryOptimizeUtils(
+                                getApplicationContext(),
+                                mApplicationInfo.uid,
+                                mApplicationInfo.packageName);
+                batteryOptimizeUtils.setAppUsageState(MODE_UNRESTRICTED, Action.APPLY);
                 break;
             case BUTTON_NEGATIVE:
                 break;
diff --git a/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java b/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java
deleted file mode 100644
index 652941b..0000000
--- a/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java
+++ /dev/null
@@ -1,66 +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.fuelgauge;
-
-import android.content.Context;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
-
-public class UnrestrictedPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String TAG = "UNRESTRICTED_PREF";
-
-    @VisibleForTesting static final String KEY_UNRESTRICTED_PREF = "unrestricted_preference";
-
-    @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
-
-    public UnrestrictedPreferenceController(Context context, int uid, String packageName) {
-        super(context);
-        mBatteryOptimizeUtils = new BatteryOptimizeUtils(context, uid, packageName);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        preference.setEnabled(mBatteryOptimizeUtils.isSelectorPreferenceEnabled());
-
-        final boolean isUnrestricted =
-                mBatteryOptimizeUtils.getAppOptimizationMode()
-                        == BatteryOptimizeUtils.MODE_UNRESTRICTED;
-        ((SelectorWithWidgetPreference) preference).setChecked(isUnrestricted);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_UNRESTRICTED_PREF;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        return getPreferenceKey().equals(preference.getKey());
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreen.kt b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreen.kt
new file mode 100644
index 0000000..2226e37
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreen.kt
@@ -0,0 +1,47 @@
+/*
+ * Copyright (C) 2024 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.fuelgauge.batterysaver
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class BatterySaverScreen : PreferenceScreenCreator {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.battery_saver
+
+    override val keywords: Int
+        get() = R.string.keywords_battery_saver
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystBatterySaverScreen()
+
+    override fun fragmentClass() = BatterySaverSettings::class.java
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "battery_saver_screen"
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
index 8e281de..df6c1d9 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
@@ -17,8 +17,11 @@
 package com.android.settings.fuelgauge.batterysaver;
 
 import android.app.settings.SettingsEnums;
+import android.content.Context;
 import android.text.TextUtils;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
@@ -93,4 +96,9 @@
             pref.setLearnMoreText(getString(R.string.battery_saver_link_a11y));
         }
     }
+
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return BatterySaverScreen.KEY;
+    }
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
index e6f622c..74c9c68 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.fuelgauge.batterytip;
 
+import android.app.Activity;
 import android.content.Context;
 import android.os.BadParcelableException;
 import android.os.Bundle;
@@ -27,7 +28,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.SettingsActivity;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction;
@@ -52,7 +52,7 @@
     private BatteryTipListener mBatteryTipListener;
     private List<BatteryTip> mBatteryTips;
     private Map<String, BatteryTip> mBatteryTipMap;
-    private SettingsActivity mSettingsActivity;
+    private Activity mActivity;
     private MetricsFeatureProvider mMetricsFeatureProvider;
     private boolean mNeedUpdate;
     @VisibleForTesting TipCardPreference mCardPreference;
@@ -66,8 +66,8 @@
         mNeedUpdate = true;
     }
 
-    public void setActivity(SettingsActivity activity) {
-        mSettingsActivity = activity;
+    public void setActivity(Activity activity) {
+        mActivity = activity;
     }
 
     public void setFragment(InstrumentedPreferenceFragment fragment) {
@@ -126,7 +126,7 @@
             } else {
                 final BatteryTipAction action =
                         BatteryTipUtils.getActionForBatteryTip(
-                                batteryTip, mSettingsActivity, mFragment);
+                                batteryTip, mActivity, mFragment);
                 if (action != null) {
                     action.handlePositiveAction(mFragment.getMetricsCategory());
                 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java
index 7dc993c..c6603d7 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java
@@ -16,16 +16,15 @@
 
 package com.android.settings.fuelgauge.batterytip;
 
+import android.app.Activity;
 import android.app.AppOpsManager;
 import android.content.Context;
-import android.content.Intent;
 import android.os.UserHandle;
 import android.os.UserManager;
 
 import androidx.annotation.NonNull;
 
 import com.android.internal.util.CollectionUtils;
-import com.android.settings.SettingsActivity;
 import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction;
 import com.android.settings.fuelgauge.batterytip.actions.OpenBatterySaverAction;
@@ -33,8 +32,6 @@
 import com.android.settings.fuelgauge.batterytip.actions.RestrictAppAction;
 import com.android.settings.fuelgauge.batterytip.actions.SmartBatteryAction;
 import com.android.settings.fuelgauge.batterytip.actions.UnrestrictAppAction;
-import com.android.settings.fuelgauge.batterytip.tips.AppLabelPredicate;
-import com.android.settings.fuelgauge.batterytip.tips.AppRestrictionPredicate;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
 import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
 import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
@@ -52,7 +49,7 @@
             AppOpsManager appOpsManager, UserManager userManager) {
         final List<UserHandle> userHandles = userManager.getUserProfiles();
         final List<AppOpsManager.PackageOps> packageOpsList =
-                appOpsManager.getPackagesForOps(new int[] {AppOpsManager.OP_RUN_ANY_IN_BACKGROUND});
+                appOpsManager.getPackagesForOps(new int[]{AppOpsManager.OP_RUN_ANY_IN_BACKGROUND});
         final List<AppInfo> appInfos = new ArrayList<>();
 
         for (int i = 0, size = CollectionUtils.size(packageOpsList); i < size; i++) {
@@ -65,7 +62,7 @@
                 }
                 if (entry.getMode() != AppOpsManager.MODE_ALLOWED
                         && userHandles.contains(
-                                new UserHandle(UserHandle.getUserId(packageOps.getUid())))) {
+                            new UserHandle(UserHandle.getUserId(packageOps.getUid())))) {
                     appInfos.add(
                             new AppInfo.Builder()
                                     .setPackageName(packageOps.getPackageName())
@@ -82,34 +79,34 @@
      * Get a corresponding action based on {@code batteryTip}
      *
      * @param batteryTip used to detect which action to choose
-     * @param settingsActivity used to populate {@link BatteryTipAction}
-     * @param fragment used to populate {@link BatteryTipAction}
+     * @param activity   used to populate {@link BatteryTipAction}
+     * @param fragment   used to populate {@link BatteryTipAction}
      * @return an action for {@code batteryTip}
      */
     public static BatteryTipAction getActionForBatteryTip(
             BatteryTip batteryTip,
-            SettingsActivity settingsActivity,
+            Activity activity,
             InstrumentedPreferenceFragment fragment) {
         switch (batteryTip.getType()) {
             case BatteryTip.TipType.SMART_BATTERY_MANAGER:
-                return new SmartBatteryAction(settingsActivity, fragment);
+                return new SmartBatteryAction(activity, fragment);
             case BatteryTip.TipType.BATTERY_SAVER:
             case BatteryTip.TipType.LOW_BATTERY:
-                return new OpenBatterySaverAction(settingsActivity);
+                return new OpenBatterySaverAction(activity);
             case BatteryTip.TipType.APP_RESTRICTION:
                 if (batteryTip.getState() == BatteryTip.StateType.HANDLED) {
                     return new OpenRestrictAppFragmentAction(fragment, (RestrictAppTip) batteryTip);
                 } else {
-                    return new RestrictAppAction(settingsActivity, (RestrictAppTip) batteryTip);
+                    return new RestrictAppAction(activity, (RestrictAppTip) batteryTip);
                 }
             case BatteryTip.TipType.REMOVE_APP_RESTRICTION:
-                return new UnrestrictAppAction(settingsActivity, (UnrestrictAppTip) batteryTip);
+                return new UnrestrictAppAction(activity, (UnrestrictAppTip) batteryTip);
             default:
                 return null;
         }
     }
 
-   /** Detect and return anomaly apps after {@code timeAfterMs} */
+    /** Detect and return anomaly apps after {@code timeAfterMs} */
     public static List<AppInfo> detectAnomalies(Context context, long timeAfterMs) {
         return new ArrayList<>();
     }
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
index 55c0031..b2d6647 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
@@ -16,23 +16,23 @@
 
 package com.android.settings.fuelgauge.batterytip.actions;
 
+import android.app.Activity;
 import android.app.settings.SettingsEnums;
 
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.R;
-import com.android.settings.SettingsActivity;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.fuelgauge.SmartBatterySettings;
 import com.android.settingslib.core.instrumentation.Instrumentable;
 
 public class SmartBatteryAction extends BatteryTipAction {
-    private SettingsActivity mSettingsActivity;
+    private Activity mActivity;
     private Fragment mFragment;
 
-    public SmartBatteryAction(SettingsActivity settingsActivity, Fragment fragment) {
-        super(settingsActivity.getApplicationContext());
-        mSettingsActivity = settingsActivity;
+    public SmartBatteryAction(Activity activity, Fragment fragment) {
+        super(activity.getApplicationContext());
+        mActivity = activity;
         mFragment = fragment;
     }
 
@@ -41,7 +41,7 @@
     public void handlePositiveAction(int metricsKey) {
         mMetricsFeatureProvider.action(
                 mContext, SettingsEnums.ACTION_TIP_OPEN_SMART_BATTERY, metricsKey);
-        new SubSettingLauncher(mSettingsActivity)
+        new SubSettingLauncher(mActivity)
                 .setSourceMetricsCategory(
                         mFragment instanceof Instrumentable
                                 ? ((Instrumentable) mFragment).getMetricsCategory()
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryOptimizationModeCache.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryOptimizationModeCache.java
index 2084b66..076676d 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryOptimizationModeCache.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryOptimizationModeCache.java
@@ -51,7 +51,8 @@
                     Pair.create(
                             BatteryOptimizationMode.forNumber(
                                     batteryOptimizeUtils.getAppOptimizationMode(
-                                            /* refreshList= */ false)),
+                                            /* refreshList= */ false,
+                                            /* ignoreUnknownMode= */ false)),
                             batteryOptimizeUtils.isOptimizeModeMutable()));
         }
         final Pair<BatteryOptimizationMode, Boolean> batteryOptimizeModeInfo =
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java
index 0836912..df84aba 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java
@@ -20,8 +20,6 @@
 import android.content.Context;
 import android.os.AsyncTask;
 import android.os.BatteryUsageStats;
-import android.os.Handler;
-import android.os.Looper;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
@@ -117,11 +115,9 @@
     private static void preprocessBatteryUsageSlots(
             final Context context, final UserIdsSeries userIdsSeries) {
         final long start = System.currentTimeMillis();
-        final Handler handler = new Handler(Looper.getMainLooper());
         final BatteryLevelData batteryLevelData =
                 DataProcessManager.getBatteryLevelData(
                         context,
-                        handler,
                         userIdsSeries,
                         /* isFromPeriodJob= */ true,
                         batteryDiffDataMap -> {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
index 0a1a547..fd548ab 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
@@ -19,8 +19,6 @@
 import android.app.usage.UsageEvents;
 import android.content.Context;
 import android.os.AsyncTask;
-import android.os.Handler;
-import android.os.Looper;
 import android.util.ArrayMap;
 import android.util.Log;
 
@@ -82,7 +80,6 @@
     private final long mLastFullChargeTimestamp;
     private final boolean mIsFromPeriodJob;
     private final Context mContext;
-    private final Handler mHandler;
     private final UserIdsSeries mUserIdsSeries;
     private final OnBatteryDiffDataMapLoadedListener mCallbackFunction;
     private final List<AppUsageEvent> mAppUsageEventList = new ArrayList<>();
@@ -123,7 +120,6 @@
     /** Constructor when there exists battery level data. */
     DataProcessManager(
             Context context,
-            Handler handler,
             final UserIdsSeries userIdsSeries,
             final boolean isFromPeriodJob,
             final long rawStartTimestamp,
@@ -132,7 +128,6 @@
             @NonNull final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay,
             @NonNull final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
         mContext = context.getApplicationContext();
-        mHandler = handler;
         mUserIdsSeries = userIdsSeries;
         mIsFromPeriodJob = isFromPeriodJob;
         mRawStartTimestamp = rawStartTimestamp;
@@ -145,11 +140,9 @@
     /** Constructor when there is no battery level data. */
     DataProcessManager(
             Context context,
-            Handler handler,
             final UserIdsSeries userIdsSeries,
             @NonNull final OnBatteryDiffDataMapLoadedListener callbackFunction) {
         mContext = context.getApplicationContext();
-        mHandler = handler;
         mUserIdsSeries = userIdsSeries;
         mCallbackFunction = callbackFunction;
         mIsFromPeriodJob = false;
@@ -444,12 +437,8 @@
 
             @Override
             protected void onPostExecute(final Map<Long, BatteryDiffData> batteryDiffDataMap) {
-                // Post results back to main thread to refresh UI.
-                if (mHandler != null && mCallbackFunction != null) {
-                    mHandler.post(
-                            () -> {
-                                mCallbackFunction.onBatteryDiffDataMapLoaded(batteryDiffDataMap);
-                            });
+                if (mCallbackFunction != null) {
+                    mCallbackFunction.onBatteryDiffDataMapLoaded(batteryDiffDataMap);
                 }
             }
         }.execute();
@@ -534,12 +523,8 @@
 
             @Override
             protected void onPostExecute(final Map<Long, BatteryDiffData> batteryDiffDataMap) {
-                // Post results back to main thread to refresh UI.
-                if (mHandler != null && mCallbackFunction != null) {
-                    mHandler.post(
-                            () -> {
-                                mCallbackFunction.onBatteryDiffDataMapLoaded(batteryDiffDataMap);
-                            });
+                if (mCallbackFunction != null) {
+                    mCallbackFunction.onBatteryDiffDataMapLoaded(batteryDiffDataMap);
                 }
             }
         }.execute();
@@ -581,7 +566,6 @@
     @Nullable
     public static BatteryLevelData getBatteryLevelData(
             Context context,
-            @Nullable Handler handler,
             final UserIdsSeries userIdsSeries,
             final boolean isFromPeriodJob,
             final OnBatteryDiffDataMapLoadedListener onBatteryUsageMapLoadedListener) {
@@ -601,7 +585,6 @@
         final BatteryLevelData batteryLevelData =
                 getPeriodBatteryLevelData(
                         context,
-                        handler,
                         userIdsSeries,
                         startTimestamp,
                         lastFullChargeTime,
@@ -621,7 +604,6 @@
 
     private static BatteryLevelData getPeriodBatteryLevelData(
             Context context,
-            @Nullable Handler handler,
             final UserIdsSeries userIdsSeries,
             final long startTimestamp,
             final long lastFullChargeTime,
@@ -639,7 +621,6 @@
             return null;
         }
 
-        handler = handler != null ? handler : new Handler(Looper.getMainLooper());
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
                 sFakeBatteryHistoryMap != null
                         ? sFakeBatteryHistoryMap
@@ -650,8 +631,7 @@
                                 lastFullChargeTime);
         if (batteryHistoryMap == null || batteryHistoryMap.isEmpty()) {
             Log.d(TAG, "batteryHistoryMap is null in getPeriodBatteryLevelData()");
-            new DataProcessManager(
-                            context, handler, userIdsSeries, onBatteryDiffDataMapLoadedListener)
+            new DataProcessManager(context, userIdsSeries, onBatteryDiffDataMapLoadedListener)
                     .start();
             return null;
         }
@@ -680,8 +660,7 @@
                 DataProcessor.getLevelDataThroughProcessedHistoryMap(
                         context, processedBatteryHistoryMap);
         if (batteryLevelData == null) {
-            new DataProcessManager(
-                            context, handler, userIdsSeries, onBatteryDiffDataMapLoadedListener)
+            new DataProcessManager(context, userIdsSeries, onBatteryDiffDataMapLoadedListener)
                     .start();
             Log.d(TAG, "getBatteryLevelData() returns null");
             return null;
@@ -690,7 +669,6 @@
         // Start the async task to compute diff usage data and load labels and icons.
         new DataProcessManager(
                         context,
-                        handler,
                         userIdsSeries,
                         isFromPeriodJob,
                         startTimestamp,
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
index ad487ef..0998e2d 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
@@ -31,8 +31,6 @@
 import android.os.AsyncTask;
 import android.os.BatteryManager;
 import android.os.BatteryUsageStats;
-import android.os.Handler;
-import android.os.Looper;
 import android.os.RemoteException;
 import android.os.SystemClock;
 import android.os.UserManager;
@@ -66,12 +64,6 @@
 public final class DatabaseUtils {
     private static final String TAG = "DatabaseUtils";
     private static final String SHARED_PREFS_FILE = "battery_usage_shared_prefs";
-    private static final boolean EXPLICIT_CLEAR_MEMORY_ENABLED = false;
-
-    /** Clear memory threshold for device booting phase. */
-    private static final long CLEAR_MEMORY_THRESHOLD_MS = Duration.ofMinutes(5).toMillis();
-
-    private static final long CLEAR_MEMORY_DELAYED_MS = Duration.ofSeconds(2).toMillis();
     private static final long INVALID_TIMESTAMP = 0L;
 
     static final int DATA_RETENTION_INTERVAL_DAY = 9;
@@ -593,7 +585,6 @@
                 String.format(
                         "sendAppUsageEventData() size=%d in %d/ms",
                         size, (System.currentTimeMillis() - startTime)));
-        clearMemory();
         return valuesList;
     }
 
@@ -613,7 +604,6 @@
                 String.format(
                         "sendBatteryEventData() in %d/ms",
                         (System.currentTimeMillis() - startTime)));
-        clearMemory();
         return contentValues;
     }
 
@@ -647,7 +637,6 @@
                 String.format(
                         "sendBatteryEventData() size=%d in %d/ms",
                         size, (System.currentTimeMillis() - startTime)));
-        clearMemory();
         return valuesList;
     }
 
@@ -681,7 +670,6 @@
                 String.format(
                         "sendBatteryUsageSlotData() size=%d in %d/ms",
                         size, (System.currentTimeMillis() - startTime)));
-        clearMemory();
         return valuesList;
     }
 
@@ -695,7 +683,6 @@
         final Intent intent = BatteryUtils.getBatteryIntent(context);
         if (intent == null) {
             Log.e(TAG, "sendBatteryEntryData(): cannot fetch battery intent");
-            clearMemory();
             return null;
         }
         final int batteryLevel = BatteryStatus.getBatteryLevel(intent);
@@ -796,7 +783,6 @@
         if (isFullChargeStart) {
             recordDateTime(context, KEY_LAST_UPLOAD_FULL_CHARGE_TIME);
         }
-        clearMemory();
         return valuesList;
     }
 
@@ -992,20 +978,4 @@
             writer.println(String.format("\t\t%s: %s", prefix, results.toString()));
         }
     }
-
-    private static void clearMemory() {
-        if (!EXPLICIT_CLEAR_MEMORY_ENABLED
-                || SystemClock.uptimeMillis() > CLEAR_MEMORY_THRESHOLD_MS) {
-            return;
-        }
-        final Handler mainHandler = new Handler(Looper.getMainLooper());
-        mainHandler.postDelayed(
-                () -> {
-                    System.gc();
-                    System.runFinalization();
-                    System.gc();
-                    Log.w(TAG, "invoke clearMemory()");
-                },
-                CLEAR_MEMORY_DELAYED_MS);
-    }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
index a9c2332..1ed6a74 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
@@ -214,20 +214,22 @@
         if (!isResumed() || mBatteryLevelData == null) {
             return;
         }
-        mBatteryUsageMap =
-                DataProcessor.generateBatteryUsageMap(
-                        getContext(), batteryDiffDataMap, mBatteryLevelData.orElse(null));
-        Log.d(TAG, "onBatteryDiffDataMapUpdate: " + mBatteryUsageMap);
-        DataProcessor.loadLabelAndIcon(mBatteryUsageMap);
-        onSelectedSlotDataUpdated();
-        detectAnomaly();
-        logScreenUsageTime();
-        if (mBatteryChartPreferenceController != null
-                && mBatteryLevelData.isEmpty()
-                && isBatteryUsageMapNullOrEmpty()) {
-            // No available battery usage and battery level data.
-            mBatteryChartPreferenceController.showEmptyChart();
-        }
+        mHandler.post(() -> {
+            mBatteryUsageMap =
+                    DataProcessor.generateBatteryUsageMap(
+                            getContext(), batteryDiffDataMap, mBatteryLevelData.orElse(null));
+            Log.d(TAG, "onBatteryDiffDataMapUpdate: " + mBatteryUsageMap);
+            DataProcessor.loadLabelAndIcon(mBatteryUsageMap);
+            onSelectedSlotDataUpdated();
+            detectAnomaly();
+            logScreenUsageTime();
+            if (mBatteryChartPreferenceController != null
+                    && mBatteryLevelData.isEmpty()
+                    && isBatteryUsageMapNullOrEmpty()) {
+                // No available battery usage and battery level data.
+                mBatteryChartPreferenceController.showEmptyChart();
+            }
+        });
     }
 
     private void onSelectedSlotDataUpdated() {
@@ -503,7 +505,6 @@
                 public BatteryLevelData loadInBackground() {
                     return DataProcessManager.getBatteryLevelData(
                             getContext(),
-                            mHandler,
                             new UserIdsSeries(getContext(), /* isNonUIRequest= */ false),
                             /* isFromPeriodJob= */ false,
                             PowerUsageAdvanced.this::onBatteryDiffDataMapUpdate);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
index 5ef820c..b5581d0 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
@@ -18,6 +18,7 @@
 
 import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType;
 
+import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.database.ContentObserver;
@@ -26,13 +27,14 @@
 import android.os.Handler;
 import android.provider.Settings.Global;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.loader.app.LoaderManager;
 import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
-import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
 import com.android.settings.fuelgauge.BatteryHeaderPreferenceController;
 import com.android.settings.fuelgauge.BatteryInfo;
@@ -125,7 +127,7 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        final SettingsActivity activity = (SettingsActivity) getActivity();
+        final Activity activity = getActivity();
 
         mBatteryHeaderPreferenceController = use(BatteryHeaderPreferenceController.class);
 
@@ -270,4 +272,9 @@
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.power_usage_summary);
+
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return PowerUsageSummaryScreen.KEY;
+    }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreen.kt b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreen.kt
new file mode 100644
index 0000000..229e308
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreen.kt
@@ -0,0 +1,62 @@
+/*
+ * Copyright (C) 2024 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.fuelgauge.batteryusage
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.PreferenceAvailabilityProvider
+import com.android.settingslib.metadata.PreferenceIconProvider
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class PowerUsageSummaryScreen : PreferenceScreenCreator,
+    PreferenceAvailabilityProvider,
+    PreferenceIconProvider {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.power_usage_summary_title
+
+    override val keywords: Int
+        get() = R.string.keywords_battery
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystPowerUsageSummaryScreen()
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun fragmentClass() = PowerUsageSummary::class.java
+
+    override fun isAvailable(context: Context) =
+        context.resources.getBoolean(R.bool.config_show_top_level_battery)
+
+    override fun getIcon(context: Context): Int =
+        if (Flags.homepageRevamp()) {
+            R.drawable.ic_settings_battery_filled
+        } else {
+            R.drawable.ic_settings_battery_white
+        }
+
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "power_usage_summary_screen"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/gestures/ButtonNavigationSettingsAssistController.java b/src/com/android/settings/gestures/ButtonNavigationSettingsAssistController.java
index 4c5e28c..72f8339 100644
--- a/src/com/android/settings/gestures/ButtonNavigationSettingsAssistController.java
+++ b/src/com/android/settings/gestures/ButtonNavigationSettingsAssistController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.gestures;
 
+import static android.app.contextualsearch.ContextualSearchManager.FEATURE_CONTEXTUAL_SEARCH;
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_2BUTTON_OVERLAY;
 import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_3BUTTON_OVERLAY;
 
@@ -50,6 +51,11 @@
 
     @Override
     public int getAvailabilityStatus() {
+        // Hide the existing assistant UI elements when contextual search is available.
+        if (mContext.getPackageManager().hasSystemFeature(FEATURE_CONTEXTUAL_SEARCH)) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
+
         if (SystemNavigationPreferenceController.isOverlayPackageAvailable(mContext,
                 NAV_BAR_MODE_2BUTTON_OVERLAY)
                 || SystemNavigationPreferenceController.isOverlayPackageAvailable(mContext,
diff --git a/src/com/android/settings/gestures/NavigationSettingsContextualSearchController.java b/src/com/android/settings/gestures/NavigationSettingsContextualSearchController.java
new file mode 100644
index 0000000..5938b5f
--- /dev/null
+++ b/src/com/android/settings/gestures/NavigationSettingsContextualSearchController.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2024 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 android.app.contextualsearch.ContextualSearchManager.FEATURE_CONTEXTUAL_SEARCH;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ * Configures behaviour of Contextual Search setting.
+ */
+public class NavigationSettingsContextualSearchController extends TogglePreferenceController {
+
+    public NavigationSettingsContextualSearchController(@NonNull Context context,
+            @NonNull String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public boolean isChecked() {
+        boolean onByDefault = mContext.getResources().getBoolean(
+                com.android.internal.R.bool.config_searchAllEntrypointsEnabledDefault);
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.SEARCH_ALL_ENTRYPOINTS_ENABLED, onByDefault ? 1 : 0)
+                == 1;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.SEARCH_ALL_ENTRYPOINTS_ENABLED, isChecked ? 1 : 0);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (mContext.getPackageManager().hasSystemFeature(FEATURE_CONTEXTUAL_SEARCH)) {
+            return AVAILABLE;
+        }
+        return UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public boolean isSliceable() {
+        return false;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return NO_RES;
+    }
+}
diff --git a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
index cfaee00..9b4da46 100644
--- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
+++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
@@ -243,7 +243,9 @@
     protected boolean setDefaultKey(String key) {
         setCurrentSystemNavigationMode(mOverlayManager, key);
         setIllustrationVideo(mVideoPreference, key);
-        setGestureNavigationTutorialDialog(key);
+        if (!android.provider.Flags.a11yStandaloneGestureEnabled()) {
+            setGestureNavigationTutorialDialog(key);
+        }
         setIllustrationClickListener(mVideoPreference, key);
         return true;
     }
diff --git a/src/com/android/settings/inputmethod/InputSettingPreferenceController.java b/src/com/android/settings/inputmethod/InputSettingPreferenceController.java
index 6d462c2..8dda8c5 100644
--- a/src/com/android/settings/inputmethod/InputSettingPreferenceController.java
+++ b/src/com/android/settings/inputmethod/InputSettingPreferenceController.java
@@ -25,20 +25,31 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.os.UserHandle;
+import android.view.View;
+import android.widget.RadioButton;
+import android.widget.RadioGroup;
+import android.widget.SeekBar;
+import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.appcompat.app.AlertDialog;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.Preference;
 
+import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.keyboard.Flags;
 
+import java.util.concurrent.TimeUnit;
+
 /**
  * Abstract class for toggle controllers of Keyboard input setting related function.
  */
 public abstract class InputSettingPreferenceController extends TogglePreferenceController implements
         LifecycleObserver {
+    private static final int CUSTOM_PROGRESS_INTERVAL = 100;
+    private static final long MILLISECOND_IN_SECONDS = TimeUnit.SECONDS.toMillis(1);
     private final ContentResolver mContentResolver;
     private final ContentObserver mContentObserver = new ContentObserver(new Handler(true)) {
         @Override
@@ -48,11 +59,19 @@
             }
         }
     };
+    protected AlertDialog mAlertDialog;
 
     protected abstract void onInputSettingUpdated();
 
     protected abstract Uri getSettingUri();
 
+    protected void updateInputSettingKeysValue(int thresholdTimeMillis) {
+    }
+
+    protected int getInputSettingKeysValue() {
+        return 0;
+    }
+
     public InputSettingPreferenceController(@NonNull Context context,
             @NonNull String preferenceKey) {
         super(context, preferenceKey);
@@ -100,4 +119,112 @@
     private void unregisterSettingsObserver() {
         mContentResolver.unregisterContentObserver(mContentObserver);
     }
+
+    protected void constructDialog(Context context, int titleRes, int subtitleRes) {
+        mAlertDialog = new AlertDialog.Builder(context)
+                .setView(R.layout.dialog_keyboard_a11y_input_setting_keys)
+                .setPositiveButton(android.R.string.ok,
+                        (dialog, which) -> {
+                            RadioGroup radioGroup =
+                                    mAlertDialog.findViewById(
+                                            R.id.input_setting_keys_value_group);
+                            SeekBar seekbar = mAlertDialog.findViewById(
+                                    R.id.input_setting_keys_value_custom_slider);
+                            RadioButton customRadioButton = mAlertDialog.findViewById(
+                                    R.id.input_setting_keys_value_custom);
+                            int threshold;
+                            if (customRadioButton.isChecked()) {
+                                threshold = seekbar.getProgress() * CUSTOM_PROGRESS_INTERVAL;
+                            } else {
+                                int checkedRadioButtonId = radioGroup.getCheckedRadioButtonId();
+                                if (checkedRadioButtonId == R.id.input_setting_keys_value_600) {
+                                    threshold = 600;
+                                } else if (checkedRadioButtonId
+                                        == R.id.input_setting_keys_value_400) {
+                                    threshold = 400;
+                                } else if (checkedRadioButtonId
+                                        == R.id.input_setting_keys_value_200) {
+                                    threshold = 200;
+                                } else {
+                                    threshold = 0;
+                                }
+                            }
+                            updateInputSettingKeysValue(threshold);
+                        })
+                .setNegativeButton(android.R.string.cancel, (dialog, which) -> dialog.dismiss())
+                .create();
+        mAlertDialog.setOnShowListener(dialog -> {
+            RadioGroup cannedValueRadioGroup = mAlertDialog.findViewById(
+                    R.id.input_setting_keys_value_group);
+            RadioButton customRadioButton = mAlertDialog.findViewById(
+                    R.id.input_setting_keys_value_custom);
+            TextView customValueTextView = mAlertDialog.findViewById(
+                    R.id.input_setting_keys_value_custom_value);
+            SeekBar customProgressBar = mAlertDialog.findViewById(
+                    R.id.input_setting_keys_value_custom_slider);
+            TextView titleTextView = mAlertDialog.findViewById(
+                    R.id.input_setting_keys_dialog_title);
+            TextView subTitleTextView = mAlertDialog.findViewById(
+                    R.id.input_setting_keys_dialog_subtitle);
+            titleTextView.setText(titleRes);
+            subTitleTextView.setText(subtitleRes);
+
+            customProgressBar.incrementProgressBy(CUSTOM_PROGRESS_INTERVAL);
+            customProgressBar.setProgress(1);
+            View customValueView = mAlertDialog.findViewById(
+                    R.id.input_setting_keys_custom_value_option);
+            customValueView.setOnClickListener(l -> customRadioButton.performClick());
+            customRadioButton.setOnCheckedChangeListener((buttonView, isChecked) -> {
+                if (isChecked) {
+                    cannedValueRadioGroup.clearCheck();
+                }
+                customValueTextView.setVisibility(isChecked ? View.VISIBLE : View.GONE);
+                customValueTextView.setText(
+                        progressToThresholdInSecond(customProgressBar.getProgress()));
+                customProgressBar.setVisibility(isChecked ? View.VISIBLE : View.GONE);
+                buttonView.setChecked(isChecked);
+            });
+            cannedValueRadioGroup.setOnCheckedChangeListener(
+                    (group, checkedId) -> customRadioButton.setChecked(false));
+            customProgressBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
+                @Override
+                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
+                    customValueTextView.setText(progressToThresholdInSecond(progress));
+                }
+
+                @Override
+                public void onStartTrackingTouch(SeekBar seekBar) {
+                }
+
+                @Override
+                public void onStopTrackingTouch(SeekBar seekBar) {
+                }
+            });
+            initStateBasedOnThreshold(cannedValueRadioGroup, customRadioButton, customValueTextView,
+                    customProgressBar);
+        });
+    }
+
+    private static String progressToThresholdInSecond(int progress) {
+        return String.valueOf((double) progress * CUSTOM_PROGRESS_INTERVAL
+                / MILLISECOND_IN_SECONDS);
+    }
+
+    private void initStateBasedOnThreshold(RadioGroup cannedValueRadioGroup,
+            RadioButton customRadioButton, TextView customValueTextView,
+            SeekBar customProgressBar) {
+        int inputSettingKeysThreshold = getInputSettingKeysValue();
+        switch (inputSettingKeysThreshold) {
+            case 600 -> cannedValueRadioGroup.check(R.id.input_setting_keys_value_600);
+            case 400 -> cannedValueRadioGroup.check(R.id.input_setting_keys_value_400);
+            case 0, 200 -> cannedValueRadioGroup.check(R.id.input_setting_keys_value_200);
+            default -> {
+                customValueTextView.setText(
+                        String.valueOf(
+                                (double) inputSettingKeysThreshold / MILLISECOND_IN_SECONDS));
+                customProgressBar.setProgress(inputSettingKeysThreshold / CUSTOM_PROGRESS_INTERVAL);
+                customRadioButton.setChecked(true);
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysController.java b/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysController.java
index 1652f00..6bd836f 100644
--- a/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysController.java
+++ b/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysController.java
@@ -21,15 +21,9 @@
 import android.net.Uri;
 import android.provider.Settings;
 import android.text.TextUtils;
-import android.view.View;
-import android.widget.RadioButton;
-import android.widget.RadioGroup;
-import android.widget.SeekBar;
-import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
-import androidx.appcompat.app.AlertDialog;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -37,23 +31,19 @@
 import com.android.settings.R;
 import com.android.settingslib.PrimarySwitchPreference;
 
-import java.util.concurrent.TimeUnit;
-
 public class KeyboardAccessibilityBounceKeysController extends
         InputSettingPreferenceController implements
         LifecycleObserver {
-    private static final int CUSTOM_PROGRESS_INTERVAL = 100;
-    private static final long MILLISECOND_IN_SECONDS = TimeUnit.SECONDS.toMillis(1);
     public static final int BOUNCE_KEYS_THRESHOLD = 500;
 
-    private AlertDialog mAlertDialog;
     @Nullable
     private PrimarySwitchPreference mPrimaryPreference;
 
     public KeyboardAccessibilityBounceKeysController(@NonNull Context context,
             @NonNull String key) {
         super(context, key);
-        constructDialog(context);
+        constructDialog(context, R.string.bounce_keys_dialog_title,
+                R.string.bounce_keys_dialog_subtitle);
     }
 
     @Override
@@ -87,8 +77,7 @@
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        InputSettings.setAccessibilityBounceKeysThreshold(mContext,
-                isChecked ? BOUNCE_KEYS_THRESHOLD : 0);
+        updateInputSettingKeysValue(isChecked ? BOUNCE_KEYS_THRESHOLD : 0);
         return true;
     }
 
@@ -106,94 +95,13 @@
                 Settings.Secure.ACCESSIBILITY_BOUNCE_KEYS);
     }
 
-    private void constructDialog(Context context) {
-        mAlertDialog = new AlertDialog.Builder(context)
-                .setView(R.layout.dialog_a11y_bounce_key)
-                .setPositiveButton(android.R.string.ok,
-                        (dialog, which) -> {
-                            RadioGroup radioGroup =
-                                    mAlertDialog.findViewById(R.id.bounce_key_value_group);
-                            SeekBar seekbar = mAlertDialog.findViewById(
-                                    R.id.bounce_key_value_custom_slider);
-                            RadioButton customRadioButton = mAlertDialog.findViewById(
-                                    R.id.bounce_key_value_custom);
-                            int threshold;
-                            if (customRadioButton.isChecked()) {
-                                threshold = seekbar.getProgress() * CUSTOM_PROGRESS_INTERVAL;
-                            } else {
-                                int checkedRadioButtonId = radioGroup.getCheckedRadioButtonId();
-                                threshold = checkedRadioButtonId == R.id.bounce_key_value_600 ? 600
-                                        : checkedRadioButtonId == R.id.bounce_key_value_400 ? 400
-                                                : checkedRadioButtonId == R.id.bounce_key_value_200
-                                                        ? 200 : 0;
-                            }
-                            InputSettings.setAccessibilityBounceKeysThreshold(context, threshold);
-                        })
-                .setNegativeButton(android.R.string.cancel, (dialog, which) -> dialog.dismiss())
-                .create();
-        mAlertDialog.setOnShowListener(dialog -> {
-            RadioGroup cannedValueRadioGroup = mAlertDialog.findViewById(
-                    R.id.bounce_key_value_group);
-            RadioButton customRadioButton = mAlertDialog.findViewById(R.id.bounce_key_value_custom);
-            TextView customValueTextView = mAlertDialog.findViewById(
-                    R.id.bounce_key_value_custom_value);
-            SeekBar customProgressBar = mAlertDialog.findViewById(
-                    R.id.bounce_key_value_custom_slider);
-            customProgressBar.incrementProgressBy(CUSTOM_PROGRESS_INTERVAL);
-            customProgressBar.setProgress(1);
-            View customValueView = mAlertDialog.findViewById(R.id.custom_value_option);
-            customValueView.setOnClickListener(l -> customRadioButton.performClick());
-            customRadioButton.setOnCheckedChangeListener((buttonView, isChecked) -> {
-                if (isChecked) {
-                    cannedValueRadioGroup.clearCheck();
-                }
-                customValueTextView.setVisibility(isChecked ? View.VISIBLE : View.GONE);
-                customValueTextView.setText(
-                        progressToThresholdInSecond(customProgressBar.getProgress()));
-                customProgressBar.setVisibility(isChecked ? View.VISIBLE : View.GONE);
-                buttonView.setChecked(isChecked);
-            });
-            cannedValueRadioGroup.setOnCheckedChangeListener(
-                    (group, checkedId) -> customRadioButton.setChecked(false));
-            customProgressBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
-                @Override
-                public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
-                    customValueTextView.setText(progressToThresholdInSecond(progress));
-                }
-
-                @Override
-                public void onStartTrackingTouch(SeekBar seekBar) {
-                }
-
-                @Override
-                public void onStopTrackingTouch(SeekBar seekBar) {
-                }
-            });
-            initStateBasedOnThreshold(cannedValueRadioGroup, customRadioButton, customValueTextView,
-                    customProgressBar);
-        });
+    @Override
+    protected void updateInputSettingKeysValue(int thresholdTimeMillis) {
+        InputSettings.setAccessibilityBounceKeysThreshold(mContext, thresholdTimeMillis);
     }
 
-    private static String progressToThresholdInSecond(int progress) {
-        return String.valueOf((double) progress * CUSTOM_PROGRESS_INTERVAL
-                / MILLISECOND_IN_SECONDS);
-    }
-
-    private void initStateBasedOnThreshold(RadioGroup cannedValueRadioGroup,
-            RadioButton customRadioButton, TextView customValueTextView,
-            SeekBar customProgressBar) {
-        int bounceKeysThreshold = InputSettings.getAccessibilityBounceKeysThreshold(mContext);
-        switch (bounceKeysThreshold) {
-            case 600 -> cannedValueRadioGroup.check(R.id.bounce_key_value_600);
-            case 400 -> cannedValueRadioGroup.check(R.id.bounce_key_value_400);
-            case 0, 200 -> cannedValueRadioGroup.check(R.id.bounce_key_value_200);
-            default -> {
-                customValueTextView.setText(
-                        String.valueOf(
-                                (double) bounceKeysThreshold / MILLISECOND_IN_SECONDS));
-                customProgressBar.setProgress(bounceKeysThreshold / CUSTOM_PROGRESS_INTERVAL);
-                customRadioButton.setChecked(true);
-            }
-        }
+    @Override
+    protected int getInputSettingKeysValue() {
+        return InputSettings.getAccessibilityBounceKeysThreshold(mContext);
     }
 }
diff --git a/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysController.java b/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysController.java
index 57ae88a..34f53c4 100644
--- a/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysController.java
+++ b/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysController.java
@@ -22,15 +22,23 @@
 import android.provider.Settings;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.TwoStatePreference;
+
+import com.android.settingslib.PrimarySwitchPreference;
+import com.android.settingslib.widget.MainSwitchPreference;
 
 public class KeyboardAccessibilityMouseKeysController extends
         InputSettingPreferenceController implements
         LifecycleObserver {
+    private static final String KEY_MOUSE_KEY = "accessibility_mouse_keys";
+    private static final String KEY_MOUSE_KEY_MAIN_PAGE = "mouse_keys_main_switch";
 
-    private TwoStatePreference mTwoStatePreference;
+    @Nullable
+    private PrimarySwitchPreference mPrimaryPreference;
+    @Nullable
+    private MainSwitchPreference mMainSwitchPreference;
 
     public KeyboardAccessibilityMouseKeysController(@NonNull Context context, @NonNull String key) {
         super(context, key);
@@ -39,7 +47,11 @@
     @Override
     public void displayPreference(@NonNull PreferenceScreen screen) {
         super.displayPreference(screen);
-        mTwoStatePreference = screen.findPreference(getPreferenceKey());
+        if (KEY_MOUSE_KEY.equals(getPreferenceKey())) {
+            mPrimaryPreference = screen.findPreference(getPreferenceKey());
+        } else if (KEY_MOUSE_KEY_MAIN_PAGE.equals(getPreferenceKey())) {
+            mMainSwitchPreference = screen.findPreference(getPreferenceKey());
+        }
     }
 
     @Override
@@ -63,8 +75,11 @@
 
     @Override
     protected void onInputSettingUpdated() {
-        if (mTwoStatePreference != null) {
-            mTwoStatePreference.setChecked(
+        if (mPrimaryPreference != null) {
+            mPrimaryPreference.setChecked(
+                    InputSettings.isAccessibilityMouseKeysEnabled(mContext));
+        } else if (mMainSwitchPreference != null) {
+            mMainSwitchPreference.setChecked(
                     InputSettings.isAccessibilityMouseKeysEnabled(mContext));
         }
     }
diff --git a/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysController.java b/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysController.java
index d8602df..857623a 100644
--- a/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysController.java
+++ b/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysController.java
@@ -20,27 +20,34 @@
 import android.hardware.input.InputSettings;
 import android.net.Uri;
 import android.provider.Settings;
+import android.text.TextUtils;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.lifecycle.LifecycleObserver;
+import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settingslib.PrimarySwitchPreference;
 
 public class KeyboardAccessibilitySlowKeysController extends
         InputSettingPreferenceController implements
         LifecycleObserver {
     public static final int SLOW_KEYS_THRESHOLD = 500;
 
-    private TwoStatePreference mTwoStatePreference;
+    @Nullable
+    private PrimarySwitchPreference mPrimarySwitchPreference;
 
     public KeyboardAccessibilitySlowKeysController(@NonNull Context context, @NonNull String key) {
         super(context, key);
+        constructDialog(context, R.string.slow_keys, R.string.slow_keys_summary);
     }
 
     @Override
     public void displayPreference(@NonNull PreferenceScreen screen) {
         super.displayPreference(screen);
-        mTwoStatePreference = screen.findPreference(getPreferenceKey());
+        mPrimarySwitchPreference = screen.findPreference(getPreferenceKey());
     }
 
     @Override
@@ -50,8 +57,7 @@
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        InputSettings.setAccessibilitySlowKeysThreshold(mContext,
-                isChecked ? SLOW_KEYS_THRESHOLD : 0);
+        updateInputSettingKeysValue(isChecked ? SLOW_KEYS_THRESHOLD : 0);
         return true;
     }
 
@@ -64,8 +70,8 @@
 
     @Override
     protected void onInputSettingUpdated() {
-        if (mTwoStatePreference != null) {
-            mTwoStatePreference.setChecked(
+        if (mPrimarySwitchPreference != null) {
+            mPrimarySwitchPreference.setChecked(
                     InputSettings.isAccessibilitySlowKeysEnabled(mContext));
         }
     }
@@ -75,4 +81,25 @@
         return Settings.Secure.getUriFor(
                 Settings.Secure.ACCESSIBILITY_SLOW_KEYS);
     }
+
+    @Override
+    public boolean handlePreferenceTreeClick(@NonNull Preference preference) {
+        if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+            return false;
+        }
+        if (mAlertDialog != null) {
+            mAlertDialog.show();
+        }
+        return true;
+    }
+
+    @Override
+    protected void updateInputSettingKeysValue(int thresholdTimeMillis) {
+        InputSettings.setAccessibilitySlowKeysThreshold(mContext, thresholdTimeMillis);
+    }
+
+    @Override
+    protected int getInputSettingKeysValue() {
+        return InputSettings.getAccessibilitySlowKeysThreshold(mContext);
+    }
 }
diff --git a/src/com/android/settings/inputmethod/KeyboardRepeatKeysController.java b/src/com/android/settings/inputmethod/KeyboardRepeatKeysController.java
index a232098..28392be 100644
--- a/src/com/android/settings/inputmethod/KeyboardRepeatKeysController.java
+++ b/src/com/android/settings/inputmethod/KeyboardRepeatKeysController.java
@@ -25,14 +25,20 @@
 import androidx.annotation.Nullable;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreferenceCompat;
+
+import com.android.settingslib.PrimarySwitchPreference;
+import com.android.settingslib.widget.MainSwitchPreference;
 
 public class KeyboardRepeatKeysController extends
         InputSettingPreferenceController implements
         LifecycleObserver {
+    private static final String KEY_REPEAT_KEY = "physical_keyboard_repeat_keys";
+    private static final String KEY_REPEAT_KEY_MAIN_PAGE = "repeat_key_main_switch";
 
     @Nullable
-    private SwitchPreferenceCompat mSwitchPreferenceCompat;
+    private PrimarySwitchPreference mPrimarySwitchPreference;
+    @Nullable
+    private MainSwitchPreference mMainSwitchPreference;
 
     public KeyboardRepeatKeysController(@NonNull Context context,
             @NonNull String key) {
@@ -42,7 +48,11 @@
     @Override
     public void displayPreference(@NonNull PreferenceScreen screen) {
         super.displayPreference(screen);
-        mSwitchPreferenceCompat = screen.findPreference(getPreferenceKey());
+        if (KEY_REPEAT_KEY.equals(getPreferenceKey())) {
+            mPrimarySwitchPreference = screen.findPreference(getPreferenceKey());
+        } else if (KEY_REPEAT_KEY_MAIN_PAGE.equals(getPreferenceKey())) {
+            mMainSwitchPreference = screen.findPreference(getPreferenceKey());
+        }
     }
 
     @Override
@@ -63,8 +73,10 @@
 
     @Override
     protected void onInputSettingUpdated() {
-        if (mSwitchPreferenceCompat != null) {
-            mSwitchPreferenceCompat.setChecked(InputSettings.isRepeatKeysEnabled(mContext));
+        if (mPrimarySwitchPreference != null) {
+            mPrimarySwitchPreference.setChecked(InputSettings.isRepeatKeysEnabled(mContext));
+        } else if (mMainSwitchPreference != null) {
+            mMainSwitchPreference.setChecked(InputSettings.isRepeatKeysEnabled(mContext));
         }
     }
 
diff --git a/src/com/android/settings/inputmethod/KeyboardRepeatKeysDelayPreferenceController.java b/src/com/android/settings/inputmethod/KeyboardRepeatKeysDelayPreferenceController.java
new file mode 100644
index 0000000..bb074fd
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardRepeatKeysDelayPreferenceController.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2024 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.inputmethod;
+
+import android.content.Context;
+import android.hardware.input.InputSettings;
+
+import androidx.annotation.NonNull;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.core.SliderPreferenceController;
+
+import com.google.common.collect.ImmutableList;
+
+public class KeyboardRepeatKeysDelayPreferenceController extends SliderPreferenceController {
+    @VisibleForTesting
+    static final ImmutableList<Integer> REPEAT_KEY_DELAY_VALUE_LIST = ImmutableList.of(2000, 1000,
+            500, 300, 200, 100, 50, 30, 20);
+
+    public KeyboardRepeatKeysDelayPreferenceController(@NonNull Context context,
+            @NonNull String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getSliderPosition() {
+        return REPEAT_KEY_DELAY_VALUE_LIST.indexOf(InputSettings.getRepeatKeysDelay(mContext));
+    }
+
+    @Override
+    public boolean setSliderPosition(int position) {
+        InputSettings.setRepeatKeysDelay(mContext, REPEAT_KEY_DELAY_VALUE_LIST.get(position));
+        return true;
+    }
+
+    @Override
+    public int getMax() {
+        return REPEAT_KEY_DELAY_VALUE_LIST.size() - 1;
+    }
+
+    @Override
+    public int getMin() {
+        return 0;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return InputSettings.isRepeatKeysFeatureFlagEnabled()
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardRepeatKeysMainFragment.java b/src/com/android/settings/inputmethod/KeyboardRepeatKeysMainFragment.java
new file mode 100644
index 0000000..39e605d
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardRepeatKeysMainFragment.java
@@ -0,0 +1,170 @@
+/*
+ * Copyright 2024 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.inputmethod;
+
+import static com.android.settings.inputmethod.PhysicalKeyboardFragment.getHardKeyboards;
+
+import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.hardware.input.InputManager;
+import android.hardware.input.InputSettings;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.internal.util.Preconditions;
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.keyboard.Flags;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settings.widget.LabeledSeekBarPreference;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.List;
+
+public class KeyboardRepeatKeysMainFragment extends DashboardFragment
+        implements InputManager.InputDeviceListener {
+    private static final String TAG = "RepeatKeysMainFragment";
+    private static final String TIME_OUT_KEY = "repeat_keys_timeout_preference";
+    private static final String DELAY_KEY = "repeat_keys_delay_preference";
+
+    private final Uri mRepeatKeyUri = Settings.Secure.getUriFor(
+            Settings.Secure.KEY_REPEAT_ENABLED);
+    private final ContentObserver mContentObserver = new ContentObserver(new Handler(true)) {
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            if (mRepeatKeyUri.equals(uri)) {
+                updatePreferencesState();
+            }
+        }
+    };
+    private InputManager mInputManager;
+    private ContentResolver mContentResolver;
+    @Nullable
+    private LabeledSeekBarPreference mRepeatTimeoutPreference;
+    @Nullable
+    private LabeledSeekBarPreference mRepeatDelayPreference;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PHYSICAL_KEYBOARD_A11Y;
+    }
+
+    @Override
+    public void onAttach(@NonNull Context context) {
+        super.onAttach(context);
+        mInputManager = Preconditions.checkNotNull(getActivity()
+                .getSystemService(InputManager.class));
+        mContentResolver = context.getContentResolver();
+    }
+
+    @Override
+    public void onCreatePreferences(Bundle bundle, String s) {
+        super.onCreatePreferences(bundle, s);
+        mRepeatTimeoutPreference = findPreference(TIME_OUT_KEY);
+        mRepeatDelayPreference = findPreference(DELAY_KEY);
+        updatePreferencesState();
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        finishEarlyIfNeeded();
+        mInputManager.registerInputDeviceListener(this, null);
+        registerSettingsObserver();
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mInputManager.unregisterInputDeviceListener(this);
+        unregisterSettingsObserver();
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.repeat_key_main_page;
+    }
+
+    private void updatePreferencesState() {
+        boolean isRepeatKeyEnabled = InputSettings.isRepeatKeysEnabled(getContext());
+        if (mRepeatTimeoutPreference != null && mRepeatDelayPreference != null) {
+            mRepeatTimeoutPreference.setEnabled(isRepeatKeyEnabled);
+            mRepeatDelayPreference.setEnabled(isRepeatKeyEnabled);
+        }
+    }
+
+    private void registerSettingsObserver() {
+        unregisterSettingsObserver();
+        mContentResolver.registerContentObserver(
+                mRepeatKeyUri,
+                false,
+                mContentObserver,
+                UserHandle.myUserId());
+    }
+
+    private void unregisterSettingsObserver() {
+        mContentResolver.unregisterContentObserver(mContentObserver);
+    }
+
+    @Override
+    public void onInputDeviceAdded(int deviceId) {
+        finishEarlyIfNeeded();
+    }
+
+    @Override
+    public void onInputDeviceRemoved(int deviceId) {
+        finishEarlyIfNeeded();
+    }
+
+    @Override
+    public void onInputDeviceChanged(int deviceId) {
+        finishEarlyIfNeeded();
+    }
+
+    private void finishEarlyIfNeeded() {
+        final Context context = getContext();
+        ThreadUtils.postOnBackgroundThread(() -> {
+            final List<PhysicalKeyboardFragment.HardKeyboardDeviceInfo> newHardKeyboards =
+                    getHardKeyboards(context);
+            if (newHardKeyboards.isEmpty()) {
+                getActivity().finish();
+            }
+        });
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.repeat_key_main_page) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return Flags.keyboardAndTouchpadA11yNewPageEnabled()
+                            && !getHardKeyboards(context).isEmpty();
+                }
+            };
+}
diff --git a/src/com/android/settings/inputmethod/KeyboardRepeatKeysTimeOutPreferenceController.java b/src/com/android/settings/inputmethod/KeyboardRepeatKeysTimeOutPreferenceController.java
new file mode 100644
index 0000000..e766d48
--- /dev/null
+++ b/src/com/android/settings/inputmethod/KeyboardRepeatKeysTimeOutPreferenceController.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2024 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.inputmethod;
+
+import android.content.Context;
+import android.hardware.input.InputSettings;
+
+import androidx.annotation.NonNull;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.core.SliderPreferenceController;
+
+import com.google.common.collect.ImmutableList;
+
+public class KeyboardRepeatKeysTimeOutPreferenceController extends SliderPreferenceController {
+    @VisibleForTesting
+    static final ImmutableList<Integer> REPEAT_KEY_TIMEOUT_VALUE_LIST = ImmutableList.of(2000, 1500,
+            1000, 400, 300, 200, 150);
+
+    public KeyboardRepeatKeysTimeOutPreferenceController(
+            @NonNull Context context,
+            @NonNull String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getSliderPosition() {
+        return REPEAT_KEY_TIMEOUT_VALUE_LIST.indexOf(InputSettings.getRepeatKeysTimeout(mContext));
+    }
+
+    @Override
+    public boolean setSliderPosition(int position) {
+        InputSettings.setRepeatKeysTimeout(mContext, REPEAT_KEY_TIMEOUT_VALUE_LIST.get(position));
+        return true;
+    }
+
+    @Override
+    public int getMax() {
+        return REPEAT_KEY_TIMEOUT_VALUE_LIST.size() - 1;
+    }
+
+    @Override
+    public int getMin() {
+        return 0;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return InputSettings.isRepeatKeysFeatureFlagEnabled()
+                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+}
diff --git a/src/com/android/settings/inputmethod/MouseKeysImageListAdapter.java b/src/com/android/settings/inputmethod/MouseKeysImageListAdapter.java
new file mode 100644
index 0000000..65024b1
--- /dev/null
+++ b/src/com/android/settings/inputmethod/MouseKeysImageListAdapter.java
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2024 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.inputmethod;
+
+import android.content.Context;
+import android.view.InputDevice;
+import android.view.KeyEvent;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+
+import com.google.common.collect.ImmutableList;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+
+public class MouseKeysImageListAdapter extends
+        RecyclerView.Adapter<MouseKeysImageListAdapter.MouseKeyImageViewHolder> {
+    private static final ImmutableList<Integer> DRAWABLE_LIST = ImmutableList.of(
+            R.drawable.mouse_keys_directional, R.drawable.mouse_keys_click,
+            R.drawable.mouse_keys_press_hold, R.drawable.mouse_keys_release,
+            R.drawable.mouse_keys_toggle_scroll, R.drawable.mouse_keys_release2);
+    private static final ImmutableList<Integer> DIRECTIONAL_CHAR_KEYCODE_LIST = ImmutableList.of(
+            KeyEvent.KEYCODE_7, KeyEvent.KEYCODE_8, KeyEvent.KEYCODE_9, KeyEvent.KEYCODE_U,
+            KeyEvent.KEYCODE_O, KeyEvent.KEYCODE_J, KeyEvent.KEYCODE_K, KeyEvent.KEYCODE_L
+    );
+    private static final int LEFT_CLICK_CHAR_KEYCODE =
+            KeyEvent.KEYCODE_I;
+    private static final int PRESS_HOLD_CHAR_KEYCODE =
+            KeyEvent.KEYCODE_M;
+    private static final int RELEASE_CHAR_KEYCODE =
+            KeyEvent.KEYCODE_COMMA;
+    private static final ImmutableList<Integer> TOGGLE_SCROLL_CHAR_KEYCODE_LIST = ImmutableList.of(
+            KeyEvent.KEYCODE_PERIOD, KeyEvent.KEYCODE_8, KeyEvent.KEYCODE_K, KeyEvent.KEYCODE_O,
+            KeyEvent.KEYCODE_U
+    );
+    private static final int RIGHT_CLICK_CHAR_KEYCODE =
+            KeyEvent.KEYCODE_SLASH;
+    private final List<String> mComposedSummaryList = new ArrayList<>();
+
+    public MouseKeysImageListAdapter(@NonNull Context context,
+            @Nullable InputDevice currentInputDevice) {
+        composeSummaryForImages(context, currentInputDevice);
+    }
+
+    @NonNull
+    @Override
+    public MouseKeyImageViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(parent.getContext())
+                .inflate(R.layout.mouse_keys_image_item, parent, false);
+        return new MouseKeyImageViewHolder(view, parent.getContext());
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull MouseKeyImageViewHolder holder, int position) {
+        ((MouseKeyImageViewHolder) holder).bindView(DRAWABLE_LIST.get(position),
+                mComposedSummaryList.get(position));
+    }
+
+    @Override
+    public int getItemCount() {
+        return DRAWABLE_LIST.size();
+    }
+
+    private void composeSummaryForImages(Context context,
+            @Nullable InputDevice currentInputDevice) {
+        if (currentInputDevice == null) {
+            return;
+        }
+        mComposedSummaryList.clear();
+        List<String> directionalLabelList = DIRECTIONAL_CHAR_KEYCODE_LIST.stream().map(
+                (key) -> getDisplayLabel(currentInputDevice, key)).toList();
+        mComposedSummaryList.add(context.getString(R.string.mouse_keys_directional_summary,
+                String.join(",", directionalLabelList)));
+        String leftClickLabel = getDisplayLabel(currentInputDevice, LEFT_CLICK_CHAR_KEYCODE);
+        mComposedSummaryList.add(
+                context.getString(R.string.mouse_keys_click_summary, leftClickLabel));
+        String pressHoldLabel = getDisplayLabel(currentInputDevice, PRESS_HOLD_CHAR_KEYCODE);
+        mComposedSummaryList.add(
+                context.getString(R.string.mouse_keys_press_hold_summary, pressHoldLabel));
+        String releaseLabel = getDisplayLabel(currentInputDevice, RELEASE_CHAR_KEYCODE);
+        mComposedSummaryList.add(
+                context.getString(R.string.mouse_keys_release_summary, releaseLabel));
+        List<String> toggleScrollLabelList = TOGGLE_SCROLL_CHAR_KEYCODE_LIST.stream().map(
+                (key) -> getDisplayLabel(currentInputDevice, key)).toList();
+        mComposedSummaryList.add(context.getString(R.string.mouse_keys_toggle_scroll_summary,
+                toggleScrollLabelList.getFirst(),
+                String.join(",", toggleScrollLabelList.subList(1, toggleScrollLabelList.size()))
+        ));
+        String rightClickLabel = getDisplayLabel(currentInputDevice, RIGHT_CLICK_CHAR_KEYCODE);
+        mComposedSummaryList.add(
+                context.getString(R.string.mouse_keys_release2_summary, rightClickLabel));
+    }
+
+    private String getDisplayLabel(InputDevice currentInputDevice, int keycode) {
+        return String.valueOf(currentInputDevice.getKeyCharacterMap().getDisplayLabel(
+                currentInputDevice.getKeyCodeForKeyLocation(keycode))).toLowerCase(Locale.ROOT);
+    }
+
+    public static class MouseKeyImageViewHolder extends RecyclerView.ViewHolder {
+        private final TextView mTextView;
+        private final Context mContext;
+
+        public MouseKeyImageViewHolder(View itemView, Context context) {
+            super(itemView);
+            mTextView = (TextView) itemView;
+            mContext = context;
+        }
+
+        void bindView(int drawableRes, String summary) {
+            mTextView.setText(summary);
+            mTextView.setCompoundDrawablesWithIntrinsicBounds(null,
+                    mContext.getDrawable(drawableRes), null, null);
+        }
+    }
+}
diff --git a/src/com/android/settings/inputmethod/MouseKeysMainPageFragment.java b/src/com/android/settings/inputmethod/MouseKeysMainPageFragment.java
new file mode 100644
index 0000000..dd9c1dd
--- /dev/null
+++ b/src/com/android/settings/inputmethod/MouseKeysMainPageFragment.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright 2024 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.inputmethod;
+
+import static com.android.settings.inputmethod.PhysicalKeyboardFragment.getHardKeyboards;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.hardware.input.InputManager;
+import android.os.Bundle;
+import android.view.InputDevice;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceScreen;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.internal.util.Preconditions;
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.keyboard.Flags;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.utils.ThreadUtils;
+import com.android.settingslib.widget.LayoutPreference;
+
+import java.util.List;
+
+@SearchIndexable
+public class MouseKeysMainPageFragment extends DashboardFragment
+        implements InputManager.InputDeviceListener {
+
+    private static final String TAG = "MouseKeysMainPageFragment";
+    private static final String KEY_MOUSE_KEY_LIST = "mouse_keys_list";
+
+    private InputManager mInputManager;
+    private LayoutPreference mMouseKeyImagesPreference;
+    @Nullable
+    private InputDevice mCurrentInputDevice;
+
+    @Override
+    public void onCreate(@NonNull Bundle bundle) {
+        super.onCreate(bundle);
+        mCurrentInputDevice = getInputDevice();
+        final PreferenceScreen screen = getPreferenceScreen();
+        mMouseKeyImagesPreference = screen.findPreference(KEY_MOUSE_KEY_LIST);
+        mInputManager = Preconditions.checkNotNull(getActivity()
+                .getSystemService(InputManager.class));
+        String title = mCurrentInputDevice == null ? getActivity().getString(R.string.mouse_keys)
+                : getActivity().getString(R.string.mouse_key_main_page_title,
+                        mCurrentInputDevice.getName());
+        getActivity().setTitle(title);
+        configureImagesPreference();
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        finishEarlyIfNeeded();
+        mInputManager.registerInputDeviceListener(this, null);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+        mInputManager.unregisterInputDeviceListener(this);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PHYSICAL_KEYBOARD_A11Y;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.mouse_keys_main_page;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public void onInputDeviceAdded(int deviceId) {
+        finishEarlyIfNeeded();
+    }
+
+    @Override
+    public void onInputDeviceRemoved(int deviceId) {
+        finishEarlyIfNeeded();
+    }
+
+    @Override
+    public void onInputDeviceChanged(int deviceId) {
+        finishEarlyIfNeeded();
+    }
+
+    private void finishEarlyIfNeeded() {
+        final Context context = getContext();
+        ThreadUtils.postOnBackgroundThread(() -> {
+            final List<PhysicalKeyboardFragment.HardKeyboardDeviceInfo> newHardKeyboards =
+                    getHardKeyboards(context);
+            if (newHardKeyboards.isEmpty()) {
+                getActivity().finish();
+            }
+        });
+    }
+
+    private void configureImagesPreference() {
+        final RecyclerView recyclerView = mMouseKeyImagesPreference.findViewById(
+                R.id.mouse_keys_image_recycler_list);
+        recyclerView.setLayoutManager(new GridLayoutManager(getActivity(), 2));
+        recyclerView.setAdapter(new MouseKeysImageListAdapter(getActivity(), mCurrentInputDevice));
+    }
+
+    /**
+     * Priority of picking input device:
+     * 1. internal keyboard(built-in keyboard)
+     * 2. first keyboard in the list
+     */
+    @Nullable
+    private InputDevice getInputDevice() {
+        InputDevice inputDevice = null;
+        for (int deviceId : InputDevice.getDeviceIds()) {
+            final InputDevice device = InputDevice.getDevice(deviceId);
+            if (device == null || device.isVirtual() || !device.isFullKeyboard()) {
+                continue;
+            }
+            if (inputDevice == null) {
+                inputDevice = device;
+            } else if (!device.isExternal()) {
+                inputDevice = device;
+                break;
+            }
+        }
+        return inputDevice;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.mouse_keys_main_page) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return Flags.keyboardAndTouchpadA11yNewPageEnabled()
+                            && !getHardKeyboards(context).isEmpty();
+                }
+            };
+}
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 48100a3..edc9989 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -289,11 +289,12 @@
                 getActivity().finish();
                 return;
             }
-            ThreadUtils.postOnMainThread(() -> updateHardKeyboards(newHardKeyboards));
+            ThreadUtils.postOnMainThread(() -> updateHardKeyboards(context, newHardKeyboards));
         });
     }
 
-    private void updateHardKeyboards(@NonNull List<HardKeyboardDeviceInfo> newHardKeyboards) {
+    private void updateHardKeyboards(@NonNull Context context,
+                                     @NonNull List<HardKeyboardDeviceInfo> newHardKeyboards) {
         if (Objects.equals(mLastHardKeyboards, newHardKeyboards)) {
             // Nothing has changed.  Ignore.
             return;
@@ -316,7 +317,7 @@
             final Preference pref = new Preference(getPrefContext());
             pref.setTitle(hardKeyboardDeviceInfo.mDeviceName);
             String currentLayout =
-                    NewKeyboardSettingsUtils.getSelectedKeyboardLayoutLabelForUser(getContext(),
+                    NewKeyboardSettingsUtils.getSelectedKeyboardLayoutLabelForUser(context,
                             UserHandle.myUserId(), hardKeyboardDeviceInfo.mDeviceIdentifier);
             if (currentLayout != null) {
                 pref.setSummary(currentLayout);
@@ -336,7 +337,7 @@
             vendorAndProductId.append("-");
             vendorAndProductId.append(productId);
             mMetricsFeatureProvider.action(
-                    getContext(),
+                    context,
                     SettingsEnums.ACTION_USE_SPECIFIC_KEYBOARD,
                     vendorAndProductId.toString());
         }
@@ -352,10 +353,10 @@
                 || InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()) {
             Objects.requireNonNull(mKeyboardA11yCategory).setOrder(2);
             preferenceScreen.addPreference(mKeyboardA11yCategory);
-            updateAccessibilityBounceKeysSwitch();
-            updateAccessibilitySlowKeysSwitch();
-            updateAccessibilityStickyKeysSwitch();
-            updateAccessibilityMouseKeysSwitch();
+            updateAccessibilityBounceKeysSwitch(context);
+            updateAccessibilitySlowKeysSwitch(context);
+            updateAccessibilityStickyKeysSwitch(context);
+            updateAccessibilityMouseKeysSwitch(context);
         }
     }
 
@@ -413,46 +414,47 @@
                     mContentObserver,
                     UserHandle.myUserId());
         }
-        updateAccessibilityBounceKeysSwitch();
-        updateAccessibilitySlowKeysSwitch();
-        updateAccessibilityStickyKeysSwitch();
-        updateAccessibilityMouseKeysSwitch();
+        final Context context = getContext();
+        updateAccessibilityBounceKeysSwitch(context);
+        updateAccessibilitySlowKeysSwitch(context);
+        updateAccessibilityStickyKeysSwitch(context);
+        updateAccessibilityMouseKeysSwitch(context);
     }
 
     private void unregisterSettingsObserver() {
         getActivity().getContentResolver().unregisterContentObserver(mContentObserver);
     }
 
-    private void updateAccessibilityBounceKeysSwitch() {
+    private void updateAccessibilityBounceKeysSwitch(@NonNull Context context) {
         if (!InputSettings.isAccessibilityBounceKeysFeatureEnabled()) {
             return;
         }
         Objects.requireNonNull(mAccessibilityBounceKeys).setChecked(
-                InputSettings.isAccessibilityBounceKeysEnabled(getContext()));
+                InputSettings.isAccessibilityBounceKeysEnabled(context));
     }
 
-    private void updateAccessibilitySlowKeysSwitch() {
+    private void updateAccessibilitySlowKeysSwitch(@NonNull Context context) {
         if (!InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()) {
             return;
         }
         Objects.requireNonNull(mAccessibilitySlowKeys).setChecked(
-                InputSettings.isAccessibilitySlowKeysEnabled(getContext()));
+                InputSettings.isAccessibilitySlowKeysEnabled(context));
     }
 
-    private void updateAccessibilityStickyKeysSwitch() {
+    private void updateAccessibilityStickyKeysSwitch(@NonNull Context context) {
         if (!InputSettings.isAccessibilityStickyKeysFeatureEnabled()) {
             return;
         }
         Objects.requireNonNull(mAccessibilityStickyKeys).setChecked(
-                InputSettings.isAccessibilityStickyKeysEnabled(getContext()));
+                InputSettings.isAccessibilityStickyKeysEnabled(context));
     }
 
-    private void updateAccessibilityMouseKeysSwitch() {
+    private void updateAccessibilityMouseKeysSwitch(@NonNull Context context) {
         if (!InputSettings.isAccessibilityMouseKeysFeatureFlagEnabled()) {
             return;
         }
         Objects.requireNonNull(mAccessibilityMouseKeys).setChecked(
-                InputSettings.isAccessibilityMouseKeysEnabled(getContext()));
+                InputSettings.isAccessibilityMouseKeysEnabled(context));
     }
 
     private void toggleKeyboardShortcutsMenu() {
@@ -489,13 +491,13 @@
         @Override
         public void onChange(boolean selfChange, Uri uri) {
             if (sAccessibilityBounceKeysUri.equals(uri)) {
-                updateAccessibilityBounceKeysSwitch();
+                updateAccessibilityBounceKeysSwitch(getContext());
             } else if (sAccessibilitySlowKeysUri.equals(uri)) {
-                updateAccessibilitySlowKeysSwitch();
+                updateAccessibilitySlowKeysSwitch(getContext());
             } else if (sAccessibilityStickyKeysUri.equals(uri)) {
-                updateAccessibilityStickyKeysSwitch();
+                updateAccessibilityStickyKeysSwitch(getContext());
             } else if (sAccessibilityMouseKeysUri.equals(uri)) {
-                updateAccessibilityMouseKeysSwitch();
+                updateAccessibilityMouseKeysSwitch(getContext());
             }
         }
     };
diff --git a/src/com/android/settings/location/LocationScreen.kt b/src/com/android/settings/location/LocationScreen.kt
new file mode 100644
index 0000000..d45b762
--- /dev/null
+++ b/src/com/android/settings/location/LocationScreen.kt
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2024 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.location
+
+import android.content.Context
+import android.location.LocationManager
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.PreferenceIconProvider
+import com.android.settingslib.metadata.PreferenceSummaryProvider
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class LocationScreen : PreferenceScreenCreator, PreferenceSummaryProvider, PreferenceIconProvider {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.location_settings_title
+
+    override val keywords: Int
+        get() = R.string.keywords_location
+
+    override fun getSummary(context: Context): CharSequence? {
+        var locationManager = context.getSystemService(Context.LOCATION_SERVICE) as LocationManager
+        return if (locationManager.isLocationEnabled) {
+            context.getString(R.string.location_settings_loading_app_permission_stats)
+        } else {
+            context.getString(R.string.location_settings_summary_location_off)
+        }
+    }
+
+    override fun getIcon(context: Context) =
+        when {
+            Flags.homepageRevamp() -> R.drawable.ic_settings_location_filled
+            else -> R.drawable.ic_settings_location
+        }
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystLocationSettings()
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun fragmentClass() = LocationSettings::class.java
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "location_settings"
+    }
+}
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index 87e8817..6a1d3d2 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -29,6 +29,8 @@
 import android.provider.Settings;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
 
@@ -185,4 +187,9 @@
                     R.string.location_settings_tooltip_text_for_chrome));
         }
     }
+
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return LocationScreen.KEY;
+    }
 }
diff --git a/src/com/android/settings/network/AdaptiveConnectivityScreen.kt b/src/com/android/settings/network/AdaptiveConnectivityScreen.kt
new file mode 100644
index 0000000..99f402f
--- /dev/null
+++ b/src/com/android/settings/network/AdaptiveConnectivityScreen.kt
@@ -0,0 +1,45 @@
+/*
+ * Copyright (C) 2024 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.network
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class AdaptiveConnectivityScreen : PreferenceScreenCreator {
+    override val key
+        get() = KEY
+
+    override val title
+        get() = R.string.adaptive_connectivity_title
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystAdaptiveConnectivity()
+
+    override fun fragmentClass() = AdaptiveConnectivitySettings::class.java
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    override fun hasCompleteHierarchy() = false
+
+    companion object {
+        const val KEY = "adaptive_connectivity"
+    }
+}
diff --git a/src/com/android/settings/network/AdaptiveConnectivitySettings.java b/src/com/android/settings/network/AdaptiveConnectivitySettings.java
index 5e1dc12..a4e872c 100644
--- a/src/com/android/settings/network/AdaptiveConnectivitySettings.java
+++ b/src/com/android/settings/network/AdaptiveConnectivitySettings.java
@@ -16,6 +16,10 @@
 package com.android.settings.network;
 
 import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -30,8 +34,6 @@
 
     private static final String TAG = "AdaptiveConnectivitySettings";
 
-    private static final String KEY_ADAPTIVE_CONNECTIVITY_PREFERENCE = "adaptive_connectivity";
-
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.ADAPTIVE_CONNECTIVITY_CATEGORY;
@@ -49,4 +51,9 @@
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.adaptive_connectivity_settings);
+
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return AdaptiveConnectivityScreen.KEY;
+    }
 }
diff --git a/src/com/android/settings/network/MobileNetworkListFragment.kt b/src/com/android/settings/network/MobileNetworkListFragment.kt
index 3118088..a0da636 100644
--- a/src/com/android/settings/network/MobileNetworkListFragment.kt
+++ b/src/com/android/settings/network/MobileNetworkListFragment.kt
@@ -92,4 +92,6 @@
                 simRepositoryFactory(context).canEnterMobileNetworkPage()
         }
     }
+
+    override fun getPreferenceScreenBindingKey(context: Context) = MobileNetworkListScreen.KEY
 }
diff --git a/src/com/android/settings/network/MobileNetworkListScreen.kt b/src/com/android/settings/network/MobileNetworkListScreen.kt
new file mode 100644
index 0000000..93d8ee6
--- /dev/null
+++ b/src/com/android/settings/network/MobileNetworkListScreen.kt
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2024 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.network
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class MobileNetworkListScreen : PreferenceScreenCreator {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.provider_network_settings_title
+
+    override val icon: Int
+        get() = R.drawable.ic_sim_card
+
+    override val keywords: Int
+        get() = R.string.keywords_more_mobile_networks
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystMobileNetworkList()
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun fragmentClass() = MobileNetworkListFragment::class.java
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "mobile_network_list"
+    }
+}
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index ee7d440..2585d04 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.content.Intent;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.settings.R;
@@ -115,4 +116,9 @@
                     return buildPreferenceControllers(context, null /* lifecycle */);
                 }
             };
+
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return NetworkDashboardScreen.KEY;
+    }
 }
diff --git a/src/com/android/settings/network/NetworkDashboardScreen.kt b/src/com/android/settings/network/NetworkDashboardScreen.kt
new file mode 100644
index 0000000..ad4ca41
--- /dev/null
+++ b/src/com/android/settings/network/NetworkDashboardScreen.kt
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2024 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.network
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.PreferenceIconProvider
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class NetworkDashboardScreen : PreferenceScreenCreator, PreferenceIconProvider {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.network_dashboard_title
+
+    override fun getIcon(context: Context) =
+        when {
+            Flags.homepageRevamp() -> R.drawable.ic_settings_wireless_filled
+            else -> R.drawable.ic_settings_wireless
+        }
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystNetworkProviderAndInternetScreen()
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun fragmentClass() = NetworkDashboardFragment::class.java
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "network_provider_and_internet_screen"
+    }
+}
diff --git a/src/com/android/settings/network/NetworkProviderScreen.kt b/src/com/android/settings/network/NetworkProviderScreen.kt
new file mode 100644
index 0000000..fa3ed78
--- /dev/null
+++ b/src/com/android/settings/network/NetworkProviderScreen.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2024 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.network
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.PreferenceAvailabilityProvider
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+class NetworkProviderScreen : PreferenceScreenCreator, PreferenceAvailabilityProvider {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.provider_internet_settings
+
+    override val icon: Int
+        get() = R.drawable.ic_settings_wireless
+
+    override val keywords: Int
+        get() = R.string.keywords_internet
+
+    override fun isAvailable(context: Context) =
+        context.resources.getBoolean(R.bool.config_show_internet_settings)
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystInternetSettings()
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun fragmentClass() = NetworkProviderSettings::class.java
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+
+    companion object {
+        const val KEY = "internet_settings"
+    }
+}
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index 69183ff..455201a 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -64,8 +64,8 @@
 
 import com.android.settings.AirplaneModeEnabler;
 import com.android.settings.R;
-import com.android.settings.RestrictedSettingsFragment;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.datausage.DataUsagePreference;
 import com.android.settings.datausage.DataUsageUtils;
 import com.android.settings.location.WifiScanningFragment;
@@ -104,7 +104,7 @@
  * UI for Mobile network and Wi-Fi network settings.
  */
 @SearchIndexable
-public class NetworkProviderSettings extends RestrictedSettingsFragment
+public class NetworkProviderSettings extends RestrictedDashboardFragment
         implements Indexable, WifiPickerTracker.WifiPickerTrackerCallback,
         WifiDialog2.WifiDialog2Listener, DialogInterface.OnDismissListener,
         AirplaneModeEnabler.OnAirplaneModeChangedListener, InternetUpdater.InternetChangeListener {
@@ -356,9 +356,17 @@
         mIsGuest = userManager.isGuestUser();
     }
 
-    private void addPreferences() {
-        addPreferencesFromResource(R.xml.network_provider_settings);
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
 
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.network_provider_settings;
+    }
+
+    private void addPreferences() {
         mAirplaneModeMsgPreference = findPreference(PREF_KEY_AIRPLANE_MODE_MSG);
         updateAirplaneModeMsgPreference(mAirplaneModeEnabler.isAirplaneModeOn() /* visible */);
         mConnectedWifiEntryPreferenceCategory = findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS);
@@ -1500,4 +1508,9 @@
             return android.R.attr.colorControlNormal;
         }
     }
+
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return NetworkProviderScreen.KEY;
+    }
 }
diff --git a/src/com/android/settings/network/apn/ApnEditor.java b/src/com/android/settings/network/apn/ApnEditor.java
index dc9741d..533fd29 100644
--- a/src/com/android/settings/network/apn/ApnEditor.java
+++ b/src/com/android/settings/network/apn/ApnEditor.java
@@ -16,153 +16,33 @@
 
 package com.android.settings.network.apn;
 
-import android.app.Dialog;
+import static com.android.settings.network.apn.ApnEditPageProviderKt.EDIT_URL;
+import static com.android.settings.network.apn.ApnEditPageProviderKt.INSERT_URL;
+
 import android.app.settings.SettingsEnums;
-import android.content.ContentValues;
-import android.content.Context;
 import android.content.Intent;
-import android.database.Cursor;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.PersistableBundle;
 import android.os.UserManager;
 import android.provider.Telephony;
 import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
 import android.util.Log;
-import android.view.KeyEvent;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.MenuItem;
-import android.view.View;
-import android.view.View.OnKeyListener;
 
-import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
-import androidx.appcompat.app.AlertDialog;
-import androidx.preference.EditTextPreference;
-import androidx.preference.ListPreference;
-import androidx.preference.MultiSelectListPreference;
-import androidx.preference.Preference;
-import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.TwoStatePreference;
 
 import com.android.internal.util.ArrayUtils;
-import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.network.ProxySubscriptionManager;
-import com.android.settingslib.utils.ThreadUtils;
+import com.android.settings.spa.SpaActivity;
 
 import java.util.Arrays;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Objects;
-import java.util.Set;
 
 /** Use to edit apn settings. */
-public class ApnEditor extends SettingsPreferenceFragment
-        implements OnPreferenceChangeListener, OnKeyListener {
+public class ApnEditor extends SettingsPreferenceFragment {
 
     private static final String TAG = ApnEditor.class.getSimpleName();
-    private static final boolean VDBG = false;   // STOPSHIP if true
-
-    private static final String KEY_AUTH_TYPE = "auth_type";
-    private static final String KEY_APN_TYPE = "apn_type";
-    private static final String KEY_PROTOCOL = "apn_protocol";
-    private static final String KEY_ROAMING_PROTOCOL = "apn_roaming_protocol";
-    private static final String KEY_CARRIER_ENABLED = "carrier_enabled";
-    private static final String KEY_BEARER_MULTI = "bearer_multi";
-    private static final String KEY_MVNO_TYPE = "mvno_type";
-    private static final String KEY_PASSWORD = "apn_password";
-
-    @VisibleForTesting
-    static final int MENU_DELETE = Menu.FIRST;
-    private static final int MENU_SAVE = Menu.FIRST + 1;
-    private static final int MENU_CANCEL = Menu.FIRST + 2;
-
-    @VisibleForTesting
-    static String sNotSet;
-    @VisibleForTesting
-    EditTextPreference mName;
-    @VisibleForTesting
-    EditTextPreference mApn;
-    @VisibleForTesting
-    EditTextPreference mProxy;
-    @VisibleForTesting
-    EditTextPreference mPort;
-    @VisibleForTesting
-    EditTextPreference mUser;
-    @VisibleForTesting
-    EditTextPreference mServer;
-    @VisibleForTesting
-    EditTextPreference mPassword;
-    @VisibleForTesting
-    EditTextPreference mMmsc;
-    @VisibleForTesting
-    EditTextPreference mMcc;
-    @VisibleForTesting
-    EditTextPreference mMnc;
-    @VisibleForTesting
-    EditTextPreference mMmsProxy;
-    @VisibleForTesting
-    EditTextPreference mMmsPort;
-    @VisibleForTesting
-    ListPreference mAuthType;
-    @VisibleForTesting
-    EditTextPreference mApnType;
-    @VisibleForTesting
-    ListPreference mProtocol;
-    @VisibleForTesting
-    ListPreference mRoamingProtocol;
-    @VisibleForTesting
-    TwoStatePreference mCarrierEnabled;
-    @VisibleForTesting
-    MultiSelectListPreference mBearerMulti;
-    @VisibleForTesting
-    ListPreference mMvnoType;
-    @VisibleForTesting
-    EditTextPreference mMvnoMatchData;
-
-    @VisibleForTesting
-    ApnData mApnData;
-
-    private String mCurMnc;
-    private String mCurMcc;
-
-    private boolean mNewApn;
-    private int mSubId;
-    @VisibleForTesting
-    ProxySubscriptionManager mProxySubscriptionMgr;
-    private int mBearerInitialVal = 0;
-    private String mMvnoTypeStr;
-    private String mMvnoMatchDataStr;
-    @VisibleForTesting
-    String[] mReadOnlyApnTypes;
-    @VisibleForTesting
-    String[] mDefaultApnTypes;
-    @VisibleForTesting
-    String mDefaultApnProtocol;
-    @VisibleForTesting
-    String mDefaultApnRoamingProtocol;
-    private String[] mReadOnlyApnFields;
-    private boolean mReadOnlyApn;
-    /**
-     * The APN deletion feature within menu is aligned with the APN adding feature.
-     * Having only one of them could lead to a UX which not that make sense from user's
-     * perspective.
-     *
-     * mIsAddApnAllowed stores the configuration value reading from
-     * CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL to support the presentation
-     * control of the menu options. When false, delete option would be invisible to
-     * the end user.
-     */
-    private boolean mIsAddApnAllowed;
-    private Uri mCarrierUri;
-    private boolean mIsCarrierIdApn;
 
     /**
      * APN types for data connections.  These are usage categories for an APN
@@ -225,150 +105,41 @@
         APN_TYPE_OEM_PRIVATE,
     };
 
-    /**
-     * Standard projection for the interesting columns of a normal note.
-     */
-    private static final String[] sProjection = new String[] {
-            Telephony.Carriers._ID,     // 0
-            Telephony.Carriers.NAME,    // 1
-            Telephony.Carriers.APN,     // 2
-            Telephony.Carriers.PROXY,   // 3
-            Telephony.Carriers.PORT,    // 4
-            Telephony.Carriers.USER,    // 5
-            Telephony.Carriers.SERVER,  // 6
-            Telephony.Carriers.PASSWORD, // 7
-            Telephony.Carriers.MMSC, // 8
-            Telephony.Carriers.MCC, // 9
-            Telephony.Carriers.MNC, // 10
-            Telephony.Carriers.NUMERIC, // 11
-            Telephony.Carriers.MMSPROXY, // 12
-            Telephony.Carriers.MMSPORT, // 13
-            Telephony.Carriers.AUTH_TYPE, // 14
-            Telephony.Carriers.TYPE, // 15
-            Telephony.Carriers.PROTOCOL, // 16
-            Telephony.Carriers.CARRIER_ENABLED, // 17
-            Telephony.Carriers.BEARER, // 18
-            Telephony.Carriers.BEARER_BITMASK, // 19
-            Telephony.Carriers.ROAMING_PROTOCOL, // 20
-            Telephony.Carriers.MVNO_TYPE,   // 21
-            Telephony.Carriers.MVNO_MATCH_DATA,  // 22
-            Telephony.Carriers.EDITED_STATUS,   // 23
-            Telephony.Carriers.USER_EDITABLE,   // 24
-            Telephony.Carriers.CARRIER_ID       // 25
-    };
-
-    private static final int ID_INDEX = 0;
-    @VisibleForTesting
-    static final int NAME_INDEX = 1;
-    @VisibleForTesting
-    static final int APN_INDEX = 2;
-    private static final int PROXY_INDEX = 3;
-    private static final int PORT_INDEX = 4;
-    private static final int USER_INDEX = 5;
-    private static final int SERVER_INDEX = 6;
-    private static final int PASSWORD_INDEX = 7;
-    private static final int MMSC_INDEX = 8;
-    @VisibleForTesting
-    static final int MCC_INDEX = 9;
-    @VisibleForTesting
-    static final int MNC_INDEX = 10;
-    private static final int MMSPROXY_INDEX = 12;
-    private static final int MMSPORT_INDEX = 13;
-    private static final int AUTH_TYPE_INDEX = 14;
-    @VisibleForTesting
-    static final int TYPE_INDEX = 15;
-    @VisibleForTesting
-    static final int PROTOCOL_INDEX = 16;
-    @VisibleForTesting
-    static final int CARRIER_ENABLED_INDEX = 17;
-    private static final int BEARER_INDEX = 18;
-    private static final int BEARER_BITMASK_INDEX = 19;
-    @VisibleForTesting
-    static final int ROAMING_PROTOCOL_INDEX = 20;
-    private static final int MVNO_TYPE_INDEX = 21;
-    private static final int MVNO_MATCH_DATA_INDEX = 22;
-    private static final int EDITED_INDEX = 23;
-    private static final int USER_EDITABLE_INDEX = 24;
-    private static final int CARRIER_ID_INDEX = 25;
-
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
+        maybeRedirectToNewPage();
+        finish();
+    }
+
+    private void maybeRedirectToNewPage() {
         if (isUserRestricted()) {
             Log.e(TAG, "This setting isn't available due to user restriction.");
-            finish();
             return;
         }
 
-        setLifecycleForAllControllers();
-
         final Intent intent = getIntent();
         final String action = intent.getAction();
-        if (TextUtils.isEmpty(action)) {
-            finish();
-            return;
-        }
-        mSubId = intent.getIntExtra(ApnSettings.SUB_ID,
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
 
-        initApnEditorUi();
-        getCarrierCustomizedConfig(getContext());
+        int subId =
+                intent.getIntExtra(ApnSettings.SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
 
-        Uri uri = null;
-        if (action.equals(Intent.ACTION_EDIT)) {
-            uri = intent.getData();
+        Uri uri = intent.getData();
+        if (Intent.ACTION_EDIT.equals(action)) {
             if (!uri.isPathPrefixMatch(Telephony.Carriers.CONTENT_URI)) {
                 Log.e(TAG, "Edit request not for carrier table. Uri: " + uri);
-                finish();
-                return;
+            } else {
+                String route = ApnEditPageProvider.INSTANCE.getRoute(EDIT_URL, uri, subId);
+                SpaActivity.startSpaActivity(requireContext(), route);
             }
-        } else if (action.equals(Intent.ACTION_INSERT)) {
-            mCarrierUri = intent.getData();
-            if (!mCarrierUri.isPathPrefixMatch(Telephony.Carriers.CONTENT_URI)) {
-                Log.e(TAG, "Insert request not for carrier table. Uri: " + mCarrierUri);
-                finish();
-                return;
+        } else if (Intent.ACTION_INSERT.equals(action)) {
+            if (!uri.isPathPrefixMatch(Telephony.Carriers.CONTENT_URI)) {
+                Log.e(TAG, "Insert request not for carrier table. Uri: " + uri);
+            } else {
+                String route = ApnEditPageProvider.INSTANCE.getRoute(
+                        INSERT_URL, Telephony.Carriers.CONTENT_URI, subId);
+                SpaActivity.startSpaActivity(getContext(), route);
             }
-            mNewApn = true;
-            mMvnoTypeStr = intent.getStringExtra(ApnSettings.MVNO_TYPE);
-            mMvnoMatchDataStr = intent.getStringExtra(ApnSettings.MVNO_MATCH_DATA);
-        } else {
-            finish();
-            return;
-        }
-
-        // Creates an ApnData to store the apn data temporary, so that we don't need the cursor to
-        // get the apn data. The uri is null if the action is ACTION_INSERT, that mean there is no
-        // record in the database, so create a empty ApnData to represent a empty row of database.
-        if (uri != null) {
-            mApnData = getApnDataFromUri(uri);
-        } else {
-            mApnData = new ApnData(sProjection.length);
-        }
-        final int carrierId = mApnData.getInteger(CARRIER_ID_INDEX,
-                TelephonyManager.UNKNOWN_CARRIER_ID);
-        mIsCarrierIdApn = (carrierId > TelephonyManager.UNKNOWN_CARRIER_ID);
-
-        final boolean isUserEdited = mApnData.getInteger(EDITED_INDEX,
-                Telephony.Carriers.USER_EDITED) == Telephony.Carriers.USER_EDITED;
-
-        Log.d(TAG, "onCreate: EDITED " + isUserEdited);
-        // if it's not a USER_EDITED apn, check if it's read-only
-        if (!isUserEdited && (mApnData.getInteger(USER_EDITABLE_INDEX, 1) == 0
-                || apnTypesMatch(mReadOnlyApnTypes, mApnData.getString(TYPE_INDEX)))) {
-            Log.d(TAG, "onCreate: apnTypesMatch; read-only APN");
-            mReadOnlyApn = true;
-            disableAllFields();
-        } else if (!ArrayUtils.isEmpty(mReadOnlyApnFields)) {
-            disableFields(mReadOnlyApnFields);
-        }
-        // Make sure that a user cannot break carrier id APN matching
-        if (mIsCarrierIdApn) {
-            disableFieldsForCarrieridApn();
-        }
-
-        for (int i = 0; i < getPreferenceScreen().getPreferenceCount(); i++) {
-            getPreferenceScreen().getPreference(i).setOnPreferenceChangeListener(this);
         }
     }
 
@@ -385,44 +156,6 @@
     }
 
     /**
-     * Enable ProxySubscriptionMgr with Lifecycle support for all controllers
-     * live within this fragment
-     */
-    private void setLifecycleForAllControllers() {
-        if (mProxySubscriptionMgr == null) {
-            mProxySubscriptionMgr = ProxySubscriptionManager.getInstance(getContext());
-        }
-        mProxySubscriptionMgr.setLifecycle(getLifecycle());
-    }
-
-    @Override
-    public void onViewStateRestored(@Nullable Bundle savedInstanceState) {
-        super.onViewStateRestored(savedInstanceState);
-        fillUI(savedInstanceState == null);
-        setCarrierCustomizedConfigToUi();
-    }
-
-    @VisibleForTesting
-    static String formatInteger(String value) {
-        try {
-            final int intValue = Integer.parseInt(value);
-            return String.format(getCorrectDigitsFormat(value), intValue);
-        } catch (NumberFormatException e) {
-            return value;
-        }
-    }
-
-    /**
-     * Get the digits format so we preserve leading 0's.
-     * MCCs are 3 digits and MNCs are either 2 or 3.
-     */
-    static String getCorrectDigitsFormat(String value) {
-        if (value.length() == 2) return "%02d";
-        else return "%03d";
-    }
-
-
-    /**
      * Check if passed in array of APN types indicates all APN types
      * @param apnTypes array of APN types. "*" indicates all types.
      * @return true if all apn types are included in the array, false otherwise
@@ -447,1046 +180,12 @@
         return true;
     }
 
-    /**
-     * Check if APN types overlap.
-     * @param apnTypesArray1 array of APNs. Empty array indicates no APN type; "*" indicates all
-     *                       types
-     * @param apnTypes2 comma separated string of APN types. Empty string represents all types.
-     * @return if any apn type matches return true, otherwise return false
-     */
-    private boolean apnTypesMatch(String[] apnTypesArray1, String apnTypes2) {
-        if (ArrayUtils.isEmpty(apnTypesArray1)) {
-            return false;
-        }
-
-        final String[] apnTypesArray1LowerCase = new String[apnTypesArray1.length];
-        for (int i = 0; i < apnTypesArray1.length; i++) {
-            apnTypesArray1LowerCase[i] = apnTypesArray1[i].toLowerCase();
-        }
-
-        if (hasAllApns(apnTypesArray1LowerCase) || TextUtils.isEmpty(apnTypes2)) {
-            return true;
-        }
-
-        final List apnTypesList1 = Arrays.asList(apnTypesArray1LowerCase);
-        final String[] apnTypesArray2 = apnTypes2.split(",");
-
-        for (String apn : apnTypesArray2) {
-            if (apnTypesList1.contains(apn.trim().toLowerCase())) {
-                Log.d(TAG, "apnTypesMatch: true because match found for " + apn.trim());
-                return true;
-            }
-        }
-
-        Log.d(TAG, "apnTypesMatch: false");
-        return false;
-    }
-
-    /**
-     * Function to get Preference obj corresponding to an apnField
-     * @param apnField apn field name for which pref is needed
-     * @return Preference obj corresponding to passed in apnField
-     */
-    private Preference getPreferenceFromFieldName(String apnField) {
-        switch (apnField) {
-            case Telephony.Carriers.NAME:
-                return mName;
-            case Telephony.Carriers.APN:
-                return mApn;
-            case Telephony.Carriers.PROXY:
-                return mProxy;
-            case Telephony.Carriers.PORT:
-                return mPort;
-            case Telephony.Carriers.USER:
-                return mUser;
-            case Telephony.Carriers.SERVER:
-                return mServer;
-            case Telephony.Carriers.PASSWORD:
-                return mPassword;
-            case Telephony.Carriers.MMSPROXY:
-                return mMmsProxy;
-            case Telephony.Carriers.MMSPORT:
-                return mMmsPort;
-            case Telephony.Carriers.MMSC:
-                return mMmsc;
-            case Telephony.Carriers.MCC:
-                return mMcc;
-            case Telephony.Carriers.MNC:
-                return mMnc;
-            case Telephony.Carriers.TYPE:
-                return mApnType;
-            case Telephony.Carriers.AUTH_TYPE:
-                return mAuthType;
-            case Telephony.Carriers.PROTOCOL:
-                return mProtocol;
-            case Telephony.Carriers.ROAMING_PROTOCOL:
-                return mRoamingProtocol;
-            case Telephony.Carriers.CARRIER_ENABLED:
-                return mCarrierEnabled;
-            case Telephony.Carriers.BEARER:
-            case Telephony.Carriers.BEARER_BITMASK:
-                return mBearerMulti;
-            case Telephony.Carriers.MVNO_TYPE:
-                return mMvnoType;
-            case Telephony.Carriers.MVNO_MATCH_DATA:
-                return mMvnoMatchData;
-        }
-        return null;
-    }
-
-    /**
-     * Disables given fields so that user cannot modify them
-     *
-     * @param apnFields fields to be disabled
-     */
-    private void disableFields(String[] apnFields) {
-        for (String apnField : apnFields) {
-            final Preference preference = getPreferenceFromFieldName(apnField);
-            if (preference != null) {
-                preference.setEnabled(false);
-            }
-        }
-    }
-
-    /**
-     * Disables all fields so that user cannot modify the APN
-     */
-    private void disableAllFields() {
-        mName.setEnabled(false);
-        mApn.setEnabled(false);
-        mProxy.setEnabled(false);
-        mPort.setEnabled(false);
-        mUser.setEnabled(false);
-        mServer.setEnabled(false);
-        mPassword.setEnabled(false);
-        mMmsProxy.setEnabled(false);
-        mMmsPort.setEnabled(false);
-        mMmsc.setEnabled(false);
-        mMcc.setEnabled(false);
-        mMnc.setEnabled(false);
-        mApnType.setEnabled(false);
-        mAuthType.setEnabled(false);
-        mProtocol.setEnabled(false);
-        mRoamingProtocol.setEnabled(false);
-        mCarrierEnabled.setEnabled(false);
-        mBearerMulti.setEnabled(false);
-        mMvnoType.setEnabled(false);
-        mMvnoMatchData.setEnabled(false);
-    }
-
-    /**
-     * Disables fields for a carrier id APN to avoid breaking the match criteria
-     */
-    private void disableFieldsForCarrieridApn() {
-        mMcc.setEnabled(false);
-        mMnc.setEnabled(false);
-        mMvnoType.setEnabled(false);
-        mMvnoMatchData.setEnabled(false);
-    }
-
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.APN_EDITOR;
     }
 
     @VisibleForTesting
-    void fillUI(boolean firstTime) {
-        if (firstTime) {
-            // Fill in all the values from the db in both text editor and summary
-            mName.setText(mApnData.getString(NAME_INDEX));
-            mApn.setText(mApnData.getString(APN_INDEX));
-            mProxy.setText(mApnData.getString(PROXY_INDEX));
-            mPort.setText(mApnData.getString(PORT_INDEX));
-            mUser.setText(mApnData.getString(USER_INDEX));
-            mServer.setText(mApnData.getString(SERVER_INDEX));
-            mPassword.setText(mApnData.getString(PASSWORD_INDEX));
-            mMmsProxy.setText(mApnData.getString(MMSPROXY_INDEX));
-            mMmsPort.setText(mApnData.getString(MMSPORT_INDEX));
-            mMmsc.setText(mApnData.getString(MMSC_INDEX));
-            mMcc.setText(mApnData.getString(MCC_INDEX));
-            mMnc.setText(mApnData.getString(MNC_INDEX));
-            mApnType.setText(mApnData.getString(TYPE_INDEX));
-            if (mNewApn) {
-                final SubscriptionInfo subInfo =
-                        mProxySubscriptionMgr.getAccessibleSubscriptionInfo(mSubId);
-
-                // Country code
-                final String mcc = (subInfo == null) ? null : subInfo.getMccString();
-                // Network code
-                final String mnc = (subInfo == null) ? null : subInfo.getMncString();
-
-                if (!TextUtils.isEmpty(mcc)) {
-                    // Auto populate MNC and MCC for new entries, based on what SIM reports
-                    mMcc.setText(mcc);
-                    mMnc.setText(mnc);
-                    mCurMnc = mnc;
-                    mCurMcc = mcc;
-                }
-            }
-            final int authVal = mApnData.getInteger(AUTH_TYPE_INDEX, -1);
-            if (authVal != -1) {
-                mAuthType.setValueIndex(authVal);
-            } else {
-                mAuthType.setValue(null);
-            }
-
-            mProtocol.setValue(mApnData.getString(PROTOCOL_INDEX));
-            mRoamingProtocol.setValue(mApnData.getString(ROAMING_PROTOCOL_INDEX));
-            mCarrierEnabled.setChecked(mApnData.getInteger(CARRIER_ENABLED_INDEX, 1) == 1);
-            mBearerInitialVal = mApnData.getInteger(BEARER_INDEX, 0);
-
-            final HashSet<String> bearers = new HashSet<String>();
-            int bearerBitmask = mApnData.getInteger(BEARER_BITMASK_INDEX, 0);
-            if (bearerBitmask == 0) {
-                if (mBearerInitialVal == 0) {
-                    bearers.add("" + 0);
-                }
-            } else {
-                int i = 1;
-                while (bearerBitmask != 0) {
-                    if ((bearerBitmask & 1) == 1) {
-                        bearers.add("" + i);
-                    }
-                    bearerBitmask >>= 1;
-                    i++;
-                }
-            }
-
-            if (mBearerInitialVal != 0 && !bearers.contains("" + mBearerInitialVal)) {
-                // add mBearerInitialVal to bearers
-                bearers.add("" + mBearerInitialVal);
-            }
-            mBearerMulti.setValues(bearers);
-
-            mMvnoType.setValue(mApnData.getString(MVNO_TYPE_INDEX));
-            mMvnoMatchData.setEnabled(false);
-            mMvnoMatchData.setText(mApnData.getString(MVNO_MATCH_DATA_INDEX));
-            if (mNewApn && mMvnoTypeStr != null && mMvnoMatchDataStr != null) {
-                mMvnoType.setValue(mMvnoTypeStr);
-                mMvnoMatchData.setText(mMvnoMatchDataStr);
-            }
-        }
-
-        mName.setSummary(checkNull(mName.getText()));
-        mApn.setSummary(checkNull(mApn.getText()));
-        mProxy.setSummary(checkNull(mProxy.getText()));
-        mPort.setSummary(checkNull(mPort.getText()));
-        mUser.setSummary(checkNull(mUser.getText()));
-        mServer.setSummary(checkNull(mServer.getText()));
-        mPassword.setSummary(starify(mPassword.getText()));
-        mMmsProxy.setSummary(checkNull(mMmsProxy.getText()));
-        mMmsPort.setSummary(checkNull(mMmsPort.getText()));
-        mMmsc.setSummary(checkNull(mMmsc.getText()));
-        mMcc.setSummary(formatInteger(checkNull(mMcc.getText())));
-        mMnc.setSummary(formatInteger(checkNull(mMnc.getText())));
-        mApnType.setSummary(checkNull(mApnType.getText()));
-
-        final String authVal = mAuthType.getValue();
-        if (authVal != null) {
-            final int authValIndex = Integer.parseInt(authVal);
-            mAuthType.setValueIndex(authValIndex);
-
-            final String[] values = getResources().getStringArray(R.array.apn_auth_entries);
-            mAuthType.setSummary(values[authValIndex]);
-        } else {
-            mAuthType.setSummary(sNotSet);
-        }
-
-        mProtocol.setSummary(checkNull(protocolDescription(mProtocol.getValue(), mProtocol)));
-        mRoamingProtocol.setSummary(
-                checkNull(protocolDescription(mRoamingProtocol.getValue(), mRoamingProtocol)));
-        mBearerMulti.setSummary(
-                checkNull(bearerMultiDescription(mBearerMulti.getValues())));
-        mMvnoType.setSummary(
-                checkNull(mvnoDescription(mMvnoType.getValue())));
-        mMvnoMatchData.setSummary(checkNullforMvnoValue(mMvnoMatchData.getText()));
-        // allow user to edit carrier_enabled for some APN
-        final boolean ceEditable = getResources().getBoolean(
-                R.bool.config_allow_edit_carrier_enabled);
-        if (ceEditable) {
-            mCarrierEnabled.setEnabled(true);
-        } else {
-            mCarrierEnabled.setEnabled(false);
-        }
-    }
-
-    /**
-     * Returns the UI choice (e.g., "IPv4/IPv6") corresponding to the given
-     * raw value of the protocol preference (e.g., "IPV4V6"). If unknown,
-     * return null.
-     */
-    private String protocolDescription(String raw, ListPreference protocol) {
-        String uRaw = checkNull(raw).toUpperCase();
-        uRaw = uRaw.equals("IPV4") ? "IP" : uRaw;
-        final int protocolIndex = protocol.findIndexOfValue(uRaw);
-        if (protocolIndex == -1) {
-            return null;
-        } else {
-            final String[] values = getResources().getStringArray(R.array.apn_protocol_entries);
-            try {
-                return values[protocolIndex];
-            } catch (ArrayIndexOutOfBoundsException e) {
-                return null;
-            }
-        }
-    }
-
-    private String bearerMultiDescription(Set<String> raw) {
-        final String[] values = getResources().getStringArray(R.array.bearer_entries);
-        final StringBuilder retVal = new StringBuilder();
-        boolean first = true;
-        for (String bearer : raw) {
-            int bearerIndex = mBearerMulti.findIndexOfValue(bearer);
-            try {
-                if (first) {
-                    retVal.append(values[bearerIndex]);
-                    first = false;
-                } else {
-                    retVal.append(", " + values[bearerIndex]);
-                }
-            } catch (ArrayIndexOutOfBoundsException e) {
-                // ignore
-            }
-        }
-        final String val = retVal.toString();
-        if (!TextUtils.isEmpty(val)) {
-            return val;
-        }
-        return null;
-    }
-
-    private String mvnoDescription(String newValue) {
-        final int mvnoIndex = mMvnoType.findIndexOfValue(newValue);
-        final String oldValue = mMvnoType.getValue();
-
-        if (mvnoIndex == -1) {
-            return null;
-        } else {
-            final String[] values = getResources().getStringArray(R.array.mvno_type_entries);
-            final boolean mvnoMatchDataUneditable =
-                    mReadOnlyApn || (mReadOnlyApnFields != null
-                            && Arrays.asList(mReadOnlyApnFields)
-                            .contains(Telephony.Carriers.MVNO_MATCH_DATA));
-            mMvnoMatchData.setEnabled(!mvnoMatchDataUneditable && mvnoIndex != 0);
-            if (newValue != null && !newValue.equals(oldValue)) {
-                if (values[mvnoIndex].equals("SPN")) {
-                    TelephonyManager telephonyManager = (TelephonyManager)
-                            getContext().getSystemService(TelephonyManager.class);
-                    final TelephonyManager telephonyManagerForSubId =
-                            telephonyManager.createForSubscriptionId(mSubId);
-                    if (telephonyManagerForSubId != null) {
-                        telephonyManager = telephonyManagerForSubId;
-                    }
-                    mMvnoMatchData.setText(telephonyManager.getSimOperatorName());
-                } else if (values[mvnoIndex].equals("IMSI")) {
-                    final SubscriptionInfo subInfo =
-                            mProxySubscriptionMgr.getAccessibleSubscriptionInfo(mSubId);
-                    final String mcc = (subInfo == null) ? "" :
-                            Objects.toString(subInfo.getMccString(), "");
-                    final String mnc = (subInfo == null) ? "" :
-                            Objects.toString(subInfo.getMncString(), "");
-                    mMvnoMatchData.setText(mcc + mnc + "x");
-                } else if (values[mvnoIndex].equals("GID")) {
-                    TelephonyManager telephonyManager = (TelephonyManager)
-                            getContext().getSystemService(TelephonyManager.class);
-                    final TelephonyManager telephonyManagerForSubId =
-                            telephonyManager.createForSubscriptionId(mSubId);
-                    if (telephonyManagerForSubId != null) {
-                        telephonyManager = telephonyManagerForSubId;
-                    }
-                    mMvnoMatchData.setText(telephonyManager.getGroupIdLevel1());
-                } else {
-                    // mvno type 'none' case. At this time, mvnoIndex should be 0.
-                    mMvnoMatchData.setText("");
-                }
-            }
-
-            try {
-                return values[mvnoIndex];
-            } catch (ArrayIndexOutOfBoundsException e) {
-                return null;
-            }
-        }
-    }
-    /**
-     * Callback when preference status changed.
-     */
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        String key = preference.getKey();
-        if (KEY_AUTH_TYPE.equals(key)) {
-            try {
-                final int index = Integer.parseInt((String) newValue);
-                mAuthType.setValueIndex(index);
-
-                final String[] values = getResources().getStringArray(R.array.apn_auth_entries);
-                mAuthType.setSummary(values[index]);
-            } catch (NumberFormatException e) {
-                return false;
-            }
-        } else if (KEY_APN_TYPE.equals(key)) {
-            String data = (TextUtils.isEmpty((String) newValue)
-                    && !ArrayUtils.isEmpty(mDefaultApnTypes))
-                    ? getEditableApnType(mDefaultApnTypes) : (String) newValue;
-            if (!TextUtils.isEmpty(data)) {
-                mApnType.setSummary(data);
-            }
-        } else if (KEY_PROTOCOL.equals(key)) {
-            final String protocol = protocolDescription((String) newValue, mProtocol);
-            if (protocol == null) {
-                return false;
-            }
-            mProtocol.setSummary(protocol);
-            mProtocol.setValue((String) newValue);
-        } else if (KEY_ROAMING_PROTOCOL.equals(key)) {
-            final String protocol = protocolDescription((String) newValue, mRoamingProtocol);
-            if (protocol == null) {
-                return false;
-            }
-            mRoamingProtocol.setSummary(protocol);
-            mRoamingProtocol.setValue((String) newValue);
-        } else if (KEY_BEARER_MULTI.equals(key)) {
-            final String bearer = bearerMultiDescription((Set<String>) newValue);
-            if (bearer == null) {
-                return false;
-            }
-            mBearerMulti.setValues((Set<String>) newValue);
-            mBearerMulti.setSummary(bearer);
-        } else if (KEY_MVNO_TYPE.equals(key)) {
-            final String mvno = mvnoDescription((String) newValue);
-            if (mvno == null) {
-                return false;
-            }
-            mMvnoType.setValue((String) newValue);
-            mMvnoType.setSummary(mvno);
-            mMvnoMatchData.setSummary(checkNullforMvnoValue(mMvnoMatchData.getText()));
-        } else if (KEY_PASSWORD.equals(key)) {
-            mPassword.setSummary(starify(newValue != null ? String.valueOf(newValue) : ""));
-        } else if (KEY_CARRIER_ENABLED.equals(key)) {
-            // do nothing
-        } else {
-            preference.setSummary(checkNull(newValue != null ? String.valueOf(newValue) : null));
-        }
-        return true;
-    }
-
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        super.onCreateOptionsMenu(menu, inflater);
-        // If it's a new APN, then cancel will delete the new entry in onPause
-        // If APN add is not allowed, delete might lead to issue regarding recovery
-        if (!mNewApn && !mReadOnlyApn && mIsAddApnAllowed) {
-            menu.add(0, MENU_DELETE, 0, R.string.menu_delete)
-                .setIcon(R.drawable.ic_delete);
-        }
-        if (!mReadOnlyApn) {
-            menu.add(0, MENU_SAVE, 0, R.string.menu_save)
-                .setIcon(android.R.drawable.ic_menu_save);
-        }
-        menu.add(0, MENU_CANCEL, 0, R.string.menu_cancel)
-            .setIcon(android.R.drawable.ic_menu_close_clear_cancel);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case MENU_DELETE:
-                deleteApn();
-                finish();
-                return true;
-            case MENU_SAVE:
-                if (validateAndSaveApnData()) {
-                    finish();
-                }
-                return true;
-            case MENU_CANCEL:
-                finish();
-                return true;
-            default:
-                return super.onOptionsItemSelected(item);
-        }
-    }
-
-    @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        view.setOnKeyListener(this);
-        view.setFocusableInTouchMode(true);
-        view.requestFocus();
-    }
-
-    /**
-     * Try to save the apn data when pressed the back button. An error message will be displayed if
-     * the apn data is invalid.
-     *
-     * TODO(b/77339593): Try to keep the same behavior between back button and up navigate button.
-     * We will save the valid apn data to the database when pressed the back button, but discard all
-     * user changed when pressed the up navigate button.
-     */
-    @Override
-    public boolean onKey(View v, int keyCode, KeyEvent event) {
-        if (event.getAction() != KeyEvent.ACTION_DOWN) return false;
-        switch (keyCode) {
-            case KeyEvent.KEYCODE_BACK: {
-                if (validateAndSaveApnData()) {
-                    finish();
-                }
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Add key, value to {@code cv} and compare the value against the value at index in
-     * {@link #mApnData}.
-     *
-     * <p>
-     * The key, value will not add to {@code cv} if value is null.
-     *
-     * @return true if values are different. {@code assumeDiff} indicates if values can be assumed
-     * different in which case no comparison is needed.
-     */
-    boolean setStringValueAndCheckIfDiff(
-            ContentValues cv, String key, String value, boolean assumeDiff, int index) {
-        final String valueFromLocalCache = mApnData.getString(index);
-        if (VDBG) {
-            Log.d(TAG, "setStringValueAndCheckIfDiff: assumeDiff: " + assumeDiff
-                    + " key: " + key
-                    + " value: '" + value
-                    + "' valueFromDb: '" + valueFromLocalCache + "'");
-        }
-        final boolean isDiff = assumeDiff
-                || !((TextUtils.isEmpty(value) && TextUtils.isEmpty(valueFromLocalCache))
-                || (value != null && value.equals(valueFromLocalCache)));
-
-        if (isDiff && value != null) {
-            cv.put(key, value);
-        }
-        return isDiff;
-    }
-
-    /**
-     * Add key, value to {@code cv} and compare the value against the value at index in
-     * {@link #mApnData}.
-     *
-     * @return true if values are different. {@code assumeDiff} indicates if values can be assumed
-     * different in which case no comparison is needed.
-     */
-    boolean setIntValueAndCheckIfDiff(
-            ContentValues cv, String key, int value, boolean assumeDiff, int index) {
-        final Integer valueFromLocalCache = mApnData.getInteger(index);
-        if (VDBG) {
-            Log.d(TAG, "setIntValueAndCheckIfDiff: assumeDiff: " + assumeDiff
-                    + " key: " + key
-                    + " value: '" + value
-                    + "' valueFromDb: '" + valueFromLocalCache + "'");
-        }
-
-        final boolean isDiff = assumeDiff || value != valueFromLocalCache;
-        if (isDiff) {
-            cv.put(key, value);
-        }
-        return isDiff;
-    }
-
-    /**
-     * Validates the apn data and save it to the database if it's valid.
-     *
-     * <p>
-     * A dialog with error message will be displayed if the APN data is invalid.
-     *
-     * @return true if there is no error
-     */
-    @VisibleForTesting
-    boolean validateAndSaveApnData() {
-        // Nothing to do if it's a read only APN
-        if (mReadOnlyApn) {
-            return true;
-        }
-
-        final String name = checkNotSet(mName.getText());
-        final String apn = checkNotSet(mApn.getText());
-        final String mcc = checkNotSet(mMcc.getText());
-        final String mnc = checkNotSet(mMnc.getText());
-
-        final String errorMsg = validateApnData();
-        if (errorMsg != null) {
-            showError();
-            return false;
-        }
-
-        final ContentValues values = new ContentValues();
-        // call update() if it's a new APN. If not, check if any field differs from the db value;
-        // if any diff is found update() should be called
-        boolean callUpdate = mNewApn;
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.NAME,
-                name,
-                callUpdate,
-                NAME_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.APN,
-                apn,
-                callUpdate,
-                APN_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.PROXY,
-                checkNotSet(mProxy.getText()),
-                callUpdate,
-                PROXY_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.PORT,
-                checkNotSet(mPort.getText()),
-                callUpdate,
-                PORT_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.MMSPROXY,
-                checkNotSet(mMmsProxy.getText()),
-                callUpdate,
-                MMSPROXY_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.MMSPORT,
-                checkNotSet(mMmsPort.getText()),
-                callUpdate,
-                MMSPORT_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.USER,
-                checkNotSet(mUser.getText()),
-                callUpdate,
-                USER_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.SERVER,
-                checkNotSet(mServer.getText()),
-                callUpdate,
-                SERVER_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.PASSWORD,
-                checkNotSet(mPassword.getText()),
-                callUpdate,
-                PASSWORD_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.MMSC,
-                checkNotSet(mMmsc.getText()),
-                callUpdate,
-                MMSC_INDEX);
-
-        final String authVal = mAuthType.getValue();
-        if (authVal != null) {
-            callUpdate = setIntValueAndCheckIfDiff(values,
-                    Telephony.Carriers.AUTH_TYPE,
-                    Integer.parseInt(authVal),
-                    callUpdate,
-                    AUTH_TYPE_INDEX);
-        }
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.PROTOCOL,
-                checkNotSet(mProtocol.getValue()),
-                callUpdate,
-                PROTOCOL_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.ROAMING_PROTOCOL,
-                checkNotSet(mRoamingProtocol.getValue()),
-                callUpdate,
-                ROAMING_PROTOCOL_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.TYPE,
-                checkNotSet(getUserEnteredApnType()),
-                callUpdate,
-                TYPE_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.MCC,
-                mcc,
-                callUpdate,
-                MCC_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.MNC,
-                mnc,
-                callUpdate,
-                MNC_INDEX);
-
-        values.put(Telephony.Carriers.NUMERIC, mcc + mnc);
-
-        if (mCurMnc != null && mCurMcc != null) {
-            if (mCurMnc.equals(mnc) && mCurMcc.equals(mcc)) {
-                values.put(Telephony.Carriers.CURRENT, 1);
-            }
-        }
-
-        final Set<String> bearerSet = mBearerMulti.getValues();
-        int bearerBitmask = 0;
-        for (String bearer : bearerSet) {
-            if (Integer.parseInt(bearer) == 0) {
-                bearerBitmask = 0;
-                break;
-            } else {
-                bearerBitmask |= getBitmaskForTech(Integer.parseInt(bearer));
-            }
-        }
-        callUpdate = setIntValueAndCheckIfDiff(values,
-                Telephony.Carriers.BEARER_BITMASK,
-                bearerBitmask,
-                callUpdate,
-                BEARER_BITMASK_INDEX);
-
-        int bearerVal;
-        if (bearerBitmask == 0 || mBearerInitialVal == 0) {
-            bearerVal = 0;
-        } else if (bitmaskHasTech(bearerBitmask, mBearerInitialVal)) {
-            bearerVal = mBearerInitialVal;
-        } else {
-            // bearer field was being used but bitmask has changed now and does not include the
-            // initial bearer value -- setting bearer to 0 but maybe better behavior is to choose a
-            // random tech from the new bitmask??
-            bearerVal = 0;
-        }
-        callUpdate = setIntValueAndCheckIfDiff(values,
-                Telephony.Carriers.BEARER,
-                bearerVal,
-                callUpdate,
-                BEARER_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.MVNO_TYPE,
-                checkNotSet(mMvnoType.getValue()),
-                callUpdate,
-                MVNO_TYPE_INDEX);
-
-        callUpdate = setStringValueAndCheckIfDiff(values,
-                Telephony.Carriers.MVNO_MATCH_DATA,
-                checkNotSet(mMvnoMatchData.getText()),
-                callUpdate,
-                MVNO_MATCH_DATA_INDEX);
-
-        callUpdate = setIntValueAndCheckIfDiff(values,
-                Telephony.Carriers.CARRIER_ENABLED,
-                mCarrierEnabled.isChecked() ? 1 : 0,
-                callUpdate,
-                CARRIER_ENABLED_INDEX);
-
-        values.put(Telephony.Carriers.EDITED_STATUS, Telephony.Carriers.USER_EDITED);
-
-        if (callUpdate) {
-            final Uri uri = mApnData.getUri() == null ? mCarrierUri : mApnData.getUri();
-            updateApnDataToDatabase(uri, values);
-        } else {
-            if (VDBG) Log.d(TAG, "validateAndSaveApnData: not calling update()");
-        }
-
-        return true;
-    }
-
-    private void updateApnDataToDatabase(Uri uri, ContentValues values) {
-        ThreadUtils.postOnBackgroundThread(() -> {
-            if (uri.equals(mCarrierUri)) {
-                // Add a new apn to the database
-                final Uri newUri = getContentResolver().insert(mCarrierUri, values);
-                if (newUri == null) {
-                    Log.e(TAG, "Can't add a new apn to database " + mCarrierUri);
-                }
-            } else {
-                // Update the existing apn
-                getContentResolver().update(
-                        uri, values, null /* where */, null /* selection Args */);
-            }
-        });
-    }
-
-    /**
-     * Validates whether the apn data is valid.
-     *
-     * @return An error message if the apn data is invalid, otherwise return null.
-     */
-    @VisibleForTesting
-    String validateApnData() {
-        String errorMsg = null;
-
-        final String name = checkNotSet(mName.getText());
-        final String apn = checkNotSet(mApn.getText());
-        final String mcc = checkNotSet(mMcc.getText());
-        final String mnc = checkNotSet(mMnc.getText());
-        boolean doNotCheckMccMnc = mIsCarrierIdApn && TextUtils.isEmpty(mcc)
-                && TextUtils.isEmpty(mnc);
-        if (TextUtils.isEmpty(name)) {
-            errorMsg = getResources().getString(R.string.error_name_empty);
-        } else if (TextUtils.isEmpty(apn)) {
-            errorMsg = getResources().getString(R.string.error_apn_empty);
-        } else if (doNotCheckMccMnc) {
-            Log.d(TAG, "validateApnData: carrier id APN does not have mcc/mnc defined");
-            // no op, skip mcc mnc null check
-        } else if (mcc == null || mcc.length() != 3) {
-            errorMsg = getResources().getString(R.string.error_mcc_not3);
-        } else if ((mnc == null || (mnc.length() & 0xFFFE) != 2)) {
-            errorMsg = getResources().getString(R.string.error_mnc_not23);
-        }
-
-        if (errorMsg == null) {
-            // if carrier does not allow editing certain apn types, make sure type does not include
-            // those
-            if (!ArrayUtils.isEmpty(mReadOnlyApnTypes)
-                    && apnTypesMatch(mReadOnlyApnTypes, getUserEnteredApnType())) {
-                final StringBuilder stringBuilder = new StringBuilder();
-                for (String type : mReadOnlyApnTypes) {
-                    stringBuilder.append(type).append(", ");
-                    Log.d(TAG, "validateApnData: appending type: " + type);
-                }
-                // remove last ", "
-                if (stringBuilder.length() >= 2) {
-                    stringBuilder.delete(stringBuilder.length() - 2, stringBuilder.length());
-                }
-                errorMsg = String.format(getResources().getString(R.string.error_adding_apn_type),
-                        stringBuilder);
-            }
-        }
-
-        return errorMsg;
-    }
-
-    @VisibleForTesting
-    void showError() {
-        ErrorDialog.showError(this);
-    }
-
-    private void deleteApn() {
-        if (mApnData.getUri() != null) {
-            getContentResolver().delete(mApnData.getUri(), null, null);
-            mApnData = new ApnData(sProjection.length);
-        }
-    }
-
-    private String starify(String value) {
-        if (value == null || value.length() == 0) {
-            return sNotSet;
-        } else {
-            final char[] password = new char[value.length()];
-            for (int i = 0; i < password.length; i++) {
-                password[i] = '*';
-            }
-            return new String(password);
-        }
-    }
-
-    /**
-     * Returns {@link #sNotSet} if the given string {@code value} is null or empty. The string
-     * {@link #sNotSet} typically used as the default display when an entry in the preference is
-     * null or empty.
-     */
-    private String checkNull(String value) {
-        return TextUtils.isEmpty(value) ? sNotSet : value;
-    }
-
-    /**
-     * To make traslation be diversity, use another string id for MVNO value.
-     */
-    private String checkNullforMvnoValue(String value) {
-        String notSetForMvnoValue = getResources().getString(R.string.apn_not_set_for_mvno);
-        return TextUtils.isEmpty(value) ? notSetForMvnoValue : value;
-    }
-
-    /**
-     * Returns null if the given string {@code value} equals to {@link #sNotSet}. This method
-     * should be used when convert a string value from preference to database.
-     */
-    private String checkNotSet(String value) {
-        return sNotSet.equals(value) ? null : value;
-    }
-
-    @VisibleForTesting
-    String getUserEnteredApnType() {
-        // if user has not specified a type, map it to "ALL APN TYPES THAT ARE NOT READ-ONLY"
-        // but if user enter empty type, map it just for default
-        String userEnteredApnType = mApnType.getText();
-        if (userEnteredApnType != null) userEnteredApnType = userEnteredApnType.trim();
-        if ((TextUtils.isEmpty(userEnteredApnType)
-                || APN_TYPE_ALL.equals(userEnteredApnType))) {
-            userEnteredApnType = getEditableApnType(APN_TYPES);
-        }
-        Log.d(TAG, "getUserEnteredApnType: changed apn type to editable apn types: "
-                + userEnteredApnType);
-        return userEnteredApnType;
-    }
-
-    private String getEditableApnType(String[] apnTypeList) {
-        final StringBuilder editableApnTypes = new StringBuilder();
-        final List<String> readOnlyApnTypes = Arrays.asList(mReadOnlyApnTypes);
-        boolean first = true;
-        for (String apnType : apnTypeList) {
-            // add APN type if it is not read-only and is not wild-cardable
-            if (!readOnlyApnTypes.contains(apnType)
-                    && !apnType.equals(APN_TYPE_IA)
-                    && !apnType.equals(APN_TYPE_EMERGENCY)
-                    && !apnType.equals(APN_TYPE_MCX)
-                    && !apnType.equals(APN_TYPE_IMS)) {
-                if (first) {
-                    first = false;
-                } else {
-                    editableApnTypes.append(",");
-                }
-                editableApnTypes.append(apnType);
-            }
-        }
-        return editableApnTypes.toString();
-    }
-
-    private void initApnEditorUi() {
-        addPreferencesFromResource(R.xml.apn_editor);
-
-        sNotSet = getResources().getString(R.string.apn_not_set);
-        mName = (EditTextPreference) findPreference("apn_name");
-        mApn = (EditTextPreference) findPreference("apn_apn");
-        mProxy = (EditTextPreference) findPreference("apn_http_proxy");
-        mPort = (EditTextPreference) findPreference("apn_http_port");
-        mUser = (EditTextPreference) findPreference("apn_user");
-        mServer = (EditTextPreference) findPreference("apn_server");
-        mPassword = (EditTextPreference) findPreference(KEY_PASSWORD);
-        mMmsProxy = (EditTextPreference) findPreference("apn_mms_proxy");
-        mMmsPort = (EditTextPreference) findPreference("apn_mms_port");
-        mMmsc = (EditTextPreference) findPreference("apn_mmsc");
-        mMcc = (EditTextPreference) findPreference("apn_mcc");
-        mMnc = (EditTextPreference) findPreference("apn_mnc");
-        mApnType = (EditTextPreference) findPreference("apn_type");
-        mAuthType = (ListPreference) findPreference(KEY_AUTH_TYPE);
-        mProtocol = (ListPreference) findPreference(KEY_PROTOCOL);
-        mRoamingProtocol = (ListPreference) findPreference(KEY_ROAMING_PROTOCOL);
-        mCarrierEnabled = (TwoStatePreference) findPreference(KEY_CARRIER_ENABLED);
-        mBearerMulti = (MultiSelectListPreference) findPreference(KEY_BEARER_MULTI);
-        mMvnoType = (ListPreference) findPreference(KEY_MVNO_TYPE);
-        mMvnoMatchData = (EditTextPreference) findPreference("mvno_match_data");
-    }
-
-    @VisibleForTesting
-    protected void getCarrierCustomizedConfig(Context context) {
-        mReadOnlyApn = false;
-        mReadOnlyApnTypes = null;
-        mReadOnlyApnFields = null;
-        mIsAddApnAllowed = true;
-
-        final CarrierConfigManager configManager = (CarrierConfigManager)
-            context.getSystemService(Context.CARRIER_CONFIG_SERVICE);
-        if (configManager != null) {
-            final PersistableBundle b = configManager.getConfigForSubId(mSubId);
-            if (b != null) {
-                mReadOnlyApnTypes = getReadOnlyApnTypes(b);
-                if (!ArrayUtils.isEmpty(mReadOnlyApnTypes)) {
-                    Log.d(TAG,
-                            "onCreate: read only APN type: " + Arrays.toString(mReadOnlyApnTypes));
-                }
-                mReadOnlyApnFields = b.getStringArray(
-                        CarrierConfigManager.KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY);
-
-                mDefaultApnTypes = b.getStringArray(
-                        CarrierConfigManager.KEY_APN_SETTINGS_DEFAULT_APN_TYPES_STRING_ARRAY);
-
-                if (!ArrayUtils.isEmpty(mDefaultApnTypes)) {
-                    Log.d(TAG, "onCreate: default apn types: " + Arrays.toString(mDefaultApnTypes));
-                }
-
-                mDefaultApnProtocol = b.getString(
-                        CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_PROTOCOL_STRING);
-                if (!TextUtils.isEmpty(mDefaultApnProtocol)) {
-                    Log.d(TAG, "onCreate: default apn protocol: " + mDefaultApnProtocol);
-                }
-
-                mDefaultApnRoamingProtocol = b.getString(
-                        CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING);
-                if (!TextUtils.isEmpty(mDefaultApnRoamingProtocol)) {
-                    Log.d(TAG, "onCreate: default apn roaming protocol: "
-                            + mDefaultApnRoamingProtocol);
-                }
-
-                mIsAddApnAllowed = b.getBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL);
-                if (!mIsAddApnAllowed) {
-                    Log.d(TAG, "onCreate: not allow to add new APN");
-                }
-            }
-        }
-    }
-
-    private void setCarrierCustomizedConfigToUi() {
-        if (TextUtils.isEmpty(mApnType.getText()) && !ArrayUtils.isEmpty(mDefaultApnTypes)) {
-            String value = getEditableApnType(mDefaultApnTypes);
-            mApnType.setText(value);
-            mApnType.setSummary(value);
-        }
-
-        String protocol = protocolDescription(mDefaultApnProtocol, mProtocol);
-        if (TextUtils.isEmpty(mProtocol.getValue()) && !TextUtils.isEmpty(protocol)) {
-            mProtocol.setValue(mDefaultApnProtocol);
-            mProtocol.setSummary(protocol);
-        }
-
-        String roamingProtocol = protocolDescription(mDefaultApnRoamingProtocol, mRoamingProtocol);
-        if (TextUtils.isEmpty(mRoamingProtocol.getValue()) && !TextUtils.isEmpty(roamingProtocol)) {
-            mRoamingProtocol.setValue(mDefaultApnRoamingProtocol);
-            mRoamingProtocol.setSummary(roamingProtocol);
-        }
-    }
-
-    /**
-     * Dialog of error message.
-     */
-    public static class ErrorDialog extends InstrumentedDialogFragment {
-        /**
-         * Show error dialog.
-         */
-        public static void showError(ApnEditor editor) {
-            final ErrorDialog dialog = new ErrorDialog();
-            dialog.setTargetFragment(editor, 0);
-            dialog.show(editor.getFragmentManager(), "error");
-        }
-
-        @Override
-        public Dialog onCreateDialog(Bundle savedInstanceState) {
-            final String msg = ((ApnEditor) getTargetFragment()).validateApnData();
-
-            return new AlertDialog.Builder(getContext())
-                    .setTitle(R.string.error_title)
-                    .setPositiveButton(android.R.string.ok, null)
-                    .setMessage(msg)
-                    .create();
-        }
-
-        @Override
-        public int getMetricsCategory() {
-            return SettingsEnums.DIALOG_APN_EDITOR_ERROR;
-        }
-    }
-
-    @VisibleForTesting
-    ApnData getApnDataFromUri(Uri uri) {
-        ApnData apnData = null;
-        try (Cursor cursor = getContentResolver().query(
-                uri,
-                sProjection,
-                null /* selection */,
-                null /* selectionArgs */,
-                null /* sortOrder */)) {
-            if (cursor != null && cursor.moveToFirst()) {
-                apnData = new ApnData(uri, cursor);
-            }
-        }
-
-        if (apnData == null) {
-            Log.d(TAG, "Can't get apnData from Uri " + uri);
-        }
-
-        return apnData;
-    }
-
-    @VisibleForTesting
     boolean isUserRestricted() {
         UserManager userManager = getContext().getSystemService(UserManager.class);
         if (userManager == null) {
@@ -1502,80 +201,4 @@
         }
         return false;
     }
-
-    @VisibleForTesting
-    static class ApnData {
-        /**
-         * The uri correspond to a database row of the apn data. This should be null if the apn
-         * is not in the database.
-         */
-        Uri mUri;
-
-        /** Each element correspond to a column of the database row. */
-        Object[] mData;
-
-        ApnData(int numberOfField) {
-            mData = new Object[numberOfField];
-        }
-
-        ApnData(Uri uri, Cursor cursor) {
-            mUri = uri;
-            mData = new Object[cursor.getColumnCount()];
-            for (int i = 0; i < mData.length; i++) {
-                switch (cursor.getType(i)) {
-                    case Cursor.FIELD_TYPE_FLOAT:
-                        mData[i] = cursor.getFloat(i);
-                        break;
-                    case Cursor.FIELD_TYPE_INTEGER:
-                        mData[i] = cursor.getInt(i);
-                        break;
-                    case Cursor.FIELD_TYPE_STRING:
-                        mData[i] = cursor.getString(i);
-                        break;
-                    case Cursor.FIELD_TYPE_BLOB:
-                        mData[i] = cursor.getBlob(i);
-                        break;
-                    default:
-                        mData[i] = null;
-                }
-            }
-        }
-
-        Uri getUri() {
-            return mUri;
-        }
-
-        void setUri(Uri uri) {
-            mUri = uri;
-        }
-
-        Integer getInteger(int index) {
-            return (Integer) mData[index];
-        }
-
-        Integer getInteger(int index, Integer defaultValue) {
-            final Integer val = getInteger(index);
-            return val == null ? defaultValue : val;
-        }
-
-        String getString(int index) {
-            return (String) mData[index];
-        }
-    }
-
-    private static int getBitmaskForTech(int radioTech) {
-        if (radioTech >= 1) {
-            return (1 << (radioTech - 1));
-        }
-        return 0;
-    }
-
-    private static boolean bitmaskHasTech(int bearerBitmask, int radioTech) {
-        if (bearerBitmask == 0) {
-            return true;
-        } else if (radioTech >= 1) {
-            return ((bearerBitmask & (1 << (radioTech - 1))) != 0);
-        }
-        return false;
-    }
 }
diff --git a/src/com/android/settings/network/telephony/CarrierConfigRepository.kt b/src/com/android/settings/network/telephony/CarrierConfigRepository.kt
index 99683a8..77f4e1c 100644
--- a/src/com/android/settings/network/telephony/CarrierConfigRepository.kt
+++ b/src/com/android/settings/network/telephony/CarrierConfigRepository.kt
@@ -224,7 +224,10 @@
         }
 
         private val BooleanKeysWhichNotFollowingsNamingConventions =
-            listOf(CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS)
+            listOf(
+                CarrierConfigManager.KEY_IGNORE_DATA_ENABLED_CHANGED_FOR_VIDEO_CALLS,
+                CarrierConfigManager.KEY_MMS_MMS_ENABLED_BOOL,
+            )
 
         private fun checkBooleanKey(key: String) {
             check(key.endsWith("_bool") || key in BooleanKeysWhichNotFollowingsNamingConventions) {
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 7d5230d..c428f98 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -26,6 +26,7 @@
 import android.content.res.Resources;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
+import android.telephony.RadioAccessFamily;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyCallback;
@@ -445,7 +446,7 @@
         }
 
         private int getPreferredNetworkMode() {
-            int networkMode = MobileNetworkUtils.getNetworkTypeFromRaf(
+            int networkMode = RadioAccessFamily.getNetworkTypeFromRaf(
                     (int) mTelephonyManager.getAllowedNetworkTypesForReason(
                             TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
             if (!showNrList()) {
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt
index d297e1c..9af6437 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerHelper.kt
@@ -18,6 +18,7 @@
 
 import android.content.Context
 import android.telephony.CarrierConfigManager
+import android.telephony.RadioAccessFamily
 import android.telephony.SubscriptionManager
 import android.telephony.TelephonyManager
 import androidx.lifecycle.LifecycleOwner
@@ -35,7 +36,7 @@
     viewLifecycleOwner.lifecycleScope.launch(Dispatchers.Default) {
         setAllowedNetworkTypesForReason(
             TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER,
-            MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode),
+            RadioAccessFamily.getRafFromNetworkType(newPreferredNetworkMode).toLong(),
         )
     }
 }
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
index 220218c..a37a12b 100644
--- a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
+++ b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
@@ -17,6 +17,7 @@
 package com.android.settings.network.telephony
 
 import android.content.Context
+import android.telephony.CarrierConfigManager
 import android.telephony.SubscriptionManager
 import android.telephony.TelephonyManager
 import android.telephony.data.ApnSetting
@@ -45,7 +46,7 @@
     private var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID
     private var telephonyManager: TelephonyManager =
         context.getSystemService(TelephonyManager::class.java)!!
-
+    private val carrierConfigRepository = CarrierConfigRepository(context)
     private var preferenceScreen: PreferenceScreen? = null
 
     fun init(subId: Int) {
@@ -54,7 +55,13 @@
     }
 
     override fun getAvailabilityStatus() =
-        if (getAvailabilityStatus(telephonyManager, subId, getDefaultDataSubId)) AVAILABLE
+        if (getAvailabilityStatus(
+                telephonyManager,
+                subId,
+                getDefaultDataSubId,
+                carrierConfigRepository
+            )
+        ) AVAILABLE
         else CONDITIONALLY_UNAVAILABLE
 
     override fun displayPreference(screen: PreferenceScreen) {
@@ -92,11 +99,14 @@
             telephonyManager: TelephonyManager,
             subId: Int,
             getDefaultDataSubId: () -> Int,
+            carrierConfigRepository: CarrierConfigRepository,
         ): Boolean {
             return SubscriptionManager.isValidSubscriptionId(subId) &&
                 !telephonyManager.isDataEnabled &&
                 telephonyManager.isApnMetered(ApnSetting.TYPE_MMS) &&
-                !isFallbackDataEnabled(telephonyManager, subId, getDefaultDataSubId())
+                !isFallbackDataEnabled(telephonyManager, subId, getDefaultDataSubId()) &&
+                carrierConfigRepository.getBoolean(
+                    subId, CarrierConfigManager.KEY_MMS_MMS_ENABLED_BOOL)
         }
 
         private fun isFallbackDataEnabled(
@@ -118,11 +128,16 @@
         ) : MobileNetworkSettingsSearchItem {
             private var telephonyManager: TelephonyManager =
                 context.getSystemService(TelephonyManager::class.java)!!
+            private val carrierConfigRepository = CarrierConfigRepository(context)
 
             @VisibleForTesting
             fun isAvailable(subId: Int): Boolean =
                 getAvailabilityStatus(
-                    telephonyManager.createForSubscriptionId(subId), subId, getDefaultDataSubId)
+                    telephonyManager.createForSubscriptionId(subId),
+                    subId,
+                    getDefaultDataSubId,
+                    carrierConfigRepository
+                )
 
             override fun getSearchResult(subId: Int): MobileNetworkSettingsSearchResult? {
                 if (!isAvailable(subId)) return null
diff --git a/src/com/android/settings/network/telephony/MobileNetworkUtils.java b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
index 82083b5..341f7a1b 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkUtils.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
@@ -18,14 +18,6 @@
 
 import static android.provider.Telephony.Carriers.ENFORCE_MANAGED_URI;
 
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.CDMA;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.EVDO;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.GSM;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.LTE;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.NR;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_TD_SCDMA;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_UNKNOWN;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.WCDMA;
 import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO;
 import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA;
 import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
@@ -56,11 +48,11 @@
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
 import android.telephony.CarrierConfigManager;
+import android.telephony.RadioAccessFamily;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.telephony.euicc.EuiccManager;
 import android.telephony.ims.ImsManager;
 import android.telephony.ims.ImsRcsManager;
 import android.telephony.ims.ProvisioningManager;
@@ -89,9 +81,7 @@
 import com.android.settingslib.graph.SignalDrawable;
 import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
 
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 public class MobileNetworkUtils {
 
@@ -334,7 +324,7 @@
         }
 
         if (isWorldMode(context, subId)) {
-            final int settingsNetworkMode = getNetworkTypeFromRaf(
+            final int settingsNetworkMode = RadioAccessFamily.getNetworkTypeFromRaf(
                     (int) telephonyManager.getAllowedNetworkTypesForReason(
                             TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
 
@@ -365,7 +355,7 @@
         }
         final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class)
                 .createForSubscriptionId(subId);
-        final int networkMode = getNetworkTypeFromRaf(
+        final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf(
                 (int) telephonyManager.getAllowedNetworkTypesForReason(
                         TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
         if (isWorldMode(context, subId)) {
@@ -433,7 +423,7 @@
         }
 
         if (isWorldMode(context, subId)) {
-            final int networkMode = getNetworkTypeFromRaf(
+            final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf(
                     (int) telephonyManager.getAllowedNetworkTypesForReason(
                             TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
             if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO) {
@@ -548,7 +538,7 @@
         }
         final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class)
                 .createForSubscriptionId(subId);
-        final int networkMode = getNetworkTypeFromRaf(
+        final int networkMode = RadioAccessFamily.getNetworkTypeFromRaf(
                 (int) telephonyManager.getAllowedNetworkTypesForReason(
                         TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
         if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM
@@ -648,197 +638,6 @@
     }
 
     /**
-     * Loop through all the device logical slots to check whether the user's current country
-     * supports eSIM.
-     */
-    private static boolean isCurrentCountrySupported(Context context) {
-        final EuiccManager em = (EuiccManager) context.getSystemService(EuiccManager.class);
-        final TelephonyManager tm =
-                (TelephonyManager) context.getSystemService(TelephonyManager.class);
-
-        Set<String> countrySet = new HashSet<>();
-        for (int i = 0; i < tm.getPhoneCount(); i++) {
-            String countryCode = tm.getNetworkCountryIso(i);
-            if (!TextUtils.isEmpty(countryCode)) {
-                countrySet.add(countryCode);
-            }
-        }
-        boolean isSupported = countrySet.stream().anyMatch(em::isSupportedCountry);
-        Log.i(TAG, "isCurrentCountrySupported countryCodes: " + countrySet
-                + " eSIMSupported: " + isSupported);
-        return isSupported;
-    }
-
-    /**
-     *  Imported from {@link android.telephony.RadioAccessFamily}
-     */
-    public static long getRafFromNetworkType(int type) {
-        switch (type) {
-            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF:
-                return GSM | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY:
-                return GSM;
-            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY:
-                return WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS:
-                return GSM | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
-                return CDMA | EVDO;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
-                return LTE | CDMA | EVDO;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
-                return LTE | GSM | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
-                return LTE | CDMA | EVDO | GSM | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
-                return LTE;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
-                return LTE | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
-                return CDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
-                return EVDO;
-            case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
-                return GSM | WCDMA | CDMA | EVDO;
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY:
-                return RAF_TD_SCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA:
-                return RAF_TD_SCDMA | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
-                return LTE | RAF_TD_SCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM:
-                return RAF_TD_SCDMA | GSM;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
-                return LTE | RAF_TD_SCDMA | GSM;
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
-                return RAF_TD_SCDMA | GSM | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
-                return LTE | RAF_TD_SCDMA | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
-                return LTE | RAF_TD_SCDMA | GSM | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                return RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
-            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
-                return LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_ONLY):
-                return NR;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE):
-                return NR | LTE;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO):
-                return NR | LTE | CDMA | EVDO;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA):
-                return NR | LTE | GSM | WCDMA;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA):
-                return NR | LTE | CDMA | EVDO | GSM | WCDMA;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA):
-                return NR | LTE | WCDMA;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA):
-                return NR | LTE | RAF_TD_SCDMA;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM):
-                return NR | LTE | RAF_TD_SCDMA | GSM;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA):
-                return NR | LTE | RAF_TD_SCDMA | WCDMA;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA):
-                return NR | LTE | RAF_TD_SCDMA | GSM | WCDMA;
-            case (TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA):
-                return NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA;
-            default:
-                return RAF_UNKNOWN;
-        }
-    }
-
-    /**
-     *  Imported from {@link android.telephony.RadioAccessFamily}
-     */
-    public static int getNetworkTypeFromRaf(int raf) {
-        raf = getAdjustedRaf(raf);
-
-        switch (raf) {
-            case (GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF;
-            case GSM:
-                return TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY;
-            case WCDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY;
-            case (CDMA | EVDO):
-                return TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO;
-            case (LTE | CDMA | EVDO):
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO;
-            case (LTE | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA;
-            case (LTE | CDMA | EVDO | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA;
-            case LTE:
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY;
-            case (LTE | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA;
-            case CDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO;
-            case EVDO:
-                return TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA;
-            case (GSM | WCDMA | CDMA | EVDO):
-                return TelephonyManagerConstants.NETWORK_MODE_GLOBAL;
-            case RAF_TD_SCDMA:
-                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY;
-            case (RAF_TD_SCDMA | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA;
-            case (LTE | RAF_TD_SCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA;
-            case (RAF_TD_SCDMA | GSM):
-                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM;
-            case (LTE | RAF_TD_SCDMA | GSM):
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM;
-            case (RAF_TD_SCDMA | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA;
-            case (LTE | RAF_TD_SCDMA | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA;
-            case (LTE | RAF_TD_SCDMA | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA;
-            case (RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
-            case (LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
-            case (NR):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_ONLY;
-            case (NR | LTE):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE;
-            case (NR | LTE | CDMA | EVDO):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
-            case (NR | LTE | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
-            case (NR | LTE | CDMA | EVDO | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA;
-            case (NR | LTE | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA;
-            case (NR | LTE | RAF_TD_SCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA;
-            case (NR | LTE | RAF_TD_SCDMA | GSM):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM;
-            case (NR | LTE | RAF_TD_SCDMA | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA;
-            case (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA;
-            case (NR | LTE | RAF_TD_SCDMA | CDMA | EVDO | GSM | WCDMA):
-                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
-            default:
-                return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN;
-        }
-    }
-
-    /**
-     *  Imported from {@link android.telephony.RadioAccessFamily}
-     */
-    private static int getAdjustedRaf(int raf) {
-        raf = ((GSM & raf) > 0) ? (GSM | raf) : raf;
-        raf = ((WCDMA & raf) > 0) ? (WCDMA | raf) : raf;
-        raf = ((CDMA & raf) > 0) ? (CDMA | raf) : raf;
-        raf = ((EVDO & raf) > 0) ? (EVDO | raf) : raf;
-        raf = ((LTE & raf) > 0) ? (LTE | raf) : raf;
-        raf = ((NR & raf) > 0) ? (NR | raf) : raf;
-        return raf;
-    }
-
-    /**
      * Copied from SubscriptionsPreferenceController#activeNetworkIsCellular()
      */
     public static boolean activeNetworkIsCellular(Context context) {
diff --git a/src/com/android/settings/network/telephony/NetworkSelectSettings.java b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
index a16f4b5..4ae51ab 100644
--- a/src/com/android/settings/network/telephony/NetworkSelectSettings.java
+++ b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
@@ -219,7 +219,7 @@
         setProgressBarVisible(true);
         mNetworkScanJob = mNetworkScanRepository.launchNetworkScan(getViewLifecycleOwner(),
                 (networkScanResult) -> {
-                    if (isPreferenceScreenEnabled()) {
+                    if (isPreferenceScreenEnabled() && !isFinishingOrDestroyed()) {
                         scanResultHandler(networkScanResult);
                     }
 
diff --git a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
index 210cd87..2d567af 100644
--- a/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceController.java
@@ -21,6 +21,7 @@
 import android.content.Context;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
+import android.telephony.RadioAccessFamily;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.util.Log;
@@ -72,7 +73,7 @@
 
         mTelephonyManager.setAllowedNetworkTypesForReason(
                 TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER,
-                MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode));
+                RadioAccessFamily.getRafFromNetworkType(newPreferredNetworkMode));
 
             final ListPreference listPreference = (ListPreference) preference;
             listPreference.setSummary(getPreferredNetworkModeSummaryResId(newPreferredNetworkMode));
@@ -94,7 +95,7 @@
             Log.w(TAG, "TelephonyManager is null");
             return TelephonyManagerConstants.NETWORK_MODE_UNKNOWN;
         }
-        return MobileNetworkUtils.getNetworkTypeFromRaf(
+        return RadioAccessFamily.getNetworkTypeFromRaf(
                 (int) mTelephonyManager.getAllowedNetworkTypesForReason(
                         TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER));
     }
diff --git a/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java b/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
index 4f4c35d..fe702e4 100644
--- a/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
+++ b/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
@@ -22,14 +22,13 @@
 
 import android.content.Context;
 import android.provider.Settings;
+import android.telephony.RadioAccessFamily;
 import android.telephony.TelephonyManager;
 import android.util.Log;
 
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.network.telephony.MobileNetworkUtils;
-
 /**
  * Preference controller for "System Select"
  */
@@ -65,7 +64,7 @@
             }
 
             final int settingsNetworkMode =
-                    hasTelephonyMgr ? MobileNetworkUtils.getNetworkTypeFromRaf(
+                    hasTelephonyMgr ? RadioAccessFamily.getNetworkTypeFromRaf(
                             (int) mTelephonyManager.getAllowedNetworkTypesForReason(
                                     TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER))
                             : NETWORK_MODE_UNKNOWN;
diff --git a/src/com/android/settings/notification/DialPadTonePreference.kt b/src/com/android/settings/notification/DialPadTonePreference.kt
new file mode 100644
index 0000000..32bc42e
--- /dev/null
+++ b/src/com/android/settings/notification/DialPadTonePreference.kt
@@ -0,0 +1,35 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.notification
+
+import android.content.Context
+import android.provider.Settings.System.DTMF_TONE_WHEN_DIALING
+import com.android.settings.R
+import com.android.settings.Utils
+import com.android.settingslib.datastore.SettingsSystemStore
+import com.android.settingslib.metadata.PreferenceAvailabilityProvider
+import com.android.settingslib.metadata.SwitchPreference
+
+// LINT.IfChange
+class DialPadTonePreference :
+    SwitchPreference(DTMF_TONE_WHEN_DIALING, R.string.dial_pad_tones_title),
+    PreferenceAvailabilityProvider {
+
+    override fun storage(context: Context) = SettingsSystemStore.get(context)
+
+    override fun isAvailable(context: Context) = Utils.isVoiceCapable(context)
+}
+// LINT.ThenChange(DialPadTonePreferenceController.java)
diff --git a/src/com/android/settings/notification/DialPadTonePreferenceController.java b/src/com/android/settings/notification/DialPadTonePreferenceController.java
index 1b05ce2..bfbf120 100644
--- a/src/com/android/settings/notification/DialPadTonePreferenceController.java
+++ b/src/com/android/settings/notification/DialPadTonePreferenceController.java
@@ -16,24 +16,24 @@
 
 package com.android.settings.notification;
 
+import static android.provider.Settings.System.DTMF_TONE_WHEN_DIALING;
+
 import static com.android.settings.notification.SettingPref.TYPE_SYSTEM;
 
 import android.content.Context;
-import android.provider.Settings.System;
 
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
+// LINT.IfChange
 public class DialPadTonePreferenceController extends SettingPrefController {
 
-    private static final String KEY_DIAL_PAD_TONES = "dial_pad_tones";
-
     public DialPadTonePreferenceController(Context context, SettingsPreferenceFragment parent,
             Lifecycle lifecycle) {
         super(context, parent, lifecycle);
-        mPreference = new SettingPref(
-            TYPE_SYSTEM, KEY_DIAL_PAD_TONES, System.DTMF_TONE_WHEN_DIALING, DEFAULT_ON) {
+        mPreference = new SettingPref(TYPE_SYSTEM, DTMF_TONE_WHEN_DIALING, DTMF_TONE_WHEN_DIALING,
+                DEFAULT_ON) {
             @Override
             public boolean isApplicable(Context context) {
                 return Utils.isVoiceCapable(context);
@@ -42,3 +42,4 @@
     }
 
 }
+// LINT.ThenChange(DialPadTonePreference.kt)
diff --git a/src/com/android/settings/notification/SoundScreen.kt b/src/com/android/settings/notification/SoundScreen.kt
index f1f2749..6b60967 100644
--- a/src/com/android/settings/notification/SoundScreen.kt
+++ b/src/com/android/settings/notification/SoundScreen.kt
@@ -19,12 +19,13 @@
 import androidx.fragment.app.Fragment
 import com.android.settings.R
 import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.PreferenceIconProvider
 import com.android.settingslib.metadata.ProvidePreferenceScreen
 import com.android.settingslib.metadata.preferenceHierarchy
 import com.android.settingslib.preference.PreferenceScreenCreator
 
 @ProvidePreferenceScreen
-class SoundScreen : PreferenceScreenCreator {
+class SoundScreen : PreferenceScreenCreator, PreferenceIconProvider {
     override val key: String
         get() = KEY
 
@@ -34,13 +35,22 @@
     override val keywords: Int
         get() = R.string.keywords_sounds
 
+    override fun getIcon(context: Context) =
+        when {
+            Flags.homepageRevamp() -> R.drawable.ic_volume_up_filled
+            else -> R.drawable.ic_volume_up_24dp
+        }
+
     override fun isFlagEnabled(context: Context): Boolean = Flags.catalystSoundScreen()
 
     override fun hasCompleteHierarchy() = false
 
     override fun fragmentClass(): Class<out Fragment>? = SoundSettings::class.java
 
-    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
+    override fun getPreferenceHierarchy(context: Context) =
+        preferenceHierarchy(this) {
+            +DialPadTonePreference()
+        }
 
     companion object {
         const val KEY = "sound_screen"
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 596f19b..b069c7e 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -195,23 +195,21 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        if (!isCatalystEnabled()) {
-            ArrayList<VolumeSeekBarPreferenceController> volumeControllers = new ArrayList<>();
-            volumeControllers.add(use(AlarmVolumePreferenceController.class));
-            volumeControllers.add(use(MediaVolumePreferenceController.class));
-            volumeControllers.add(use(SeparateRingVolumePreferenceController.class));
-            volumeControllers.add(use(NotificationVolumePreferenceController.class));
-            volumeControllers.add(use(CallVolumePreferenceController.class));
+        ArrayList<VolumeSeekBarPreferenceController> volumeControllers = new ArrayList<>();
+        volumeControllers.add(use(AlarmVolumePreferenceController.class));
+        volumeControllers.add(use(MediaVolumePreferenceController.class));
+        volumeControllers.add(use(SeparateRingVolumePreferenceController.class));
+        volumeControllers.add(use(NotificationVolumePreferenceController.class));
+        volumeControllers.add(use(CallVolumePreferenceController.class));
 
-            use(HandsFreeProfileOutputPreferenceController.class).setCallback(listPreference ->
-                    onPreferenceDataChanged(listPreference));
-            mHfpOutputControllerKey =
-                    use(HandsFreeProfileOutputPreferenceController.class).getPreferenceKey();
+        use(HandsFreeProfileOutputPreferenceController.class).setCallback(listPreference ->
+                onPreferenceDataChanged(listPreference));
+        mHfpOutputControllerKey =
+                use(HandsFreeProfileOutputPreferenceController.class).getPreferenceKey();
 
-            for (VolumeSeekBarPreferenceController controller : volumeControllers) {
-                controller.setCallback(mVolumeCallback);
-                getSettingsLifecycle().addObserver(controller);
-            }
+        for (VolumeSeekBarPreferenceController controller : volumeControllers) {
+            controller.setCallback(mVolumeCallback);
+            getSettingsLifecycle().addObserver(controller);
         }
     }
 
diff --git a/src/com/android/settings/security/LockScreenPreferenceScreen.kt b/src/com/android/settings/security/LockScreenPreferenceScreen.kt
new file mode 100644
index 0000000..0c7877f
--- /dev/null
+++ b/src/com/android/settings/security/LockScreenPreferenceScreen.kt
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.security
+
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.metadata.ProvidePreferenceScreen
+import com.android.settingslib.metadata.preferenceHierarchy
+import com.android.settingslib.preference.PreferenceScreenCreator
+
+@ProvidePreferenceScreen
+open class LockScreenPreferenceScreen : PreferenceScreenCreator {
+    override val key: String
+        get() = KEY
+
+    override val title: Int
+        get() = R.string.lockscreen_settings_title
+
+    override val keywords: Int
+        get() = R.string.keywords_ambient_display_screen
+
+    override fun isFlagEnabled(context: Context) = Flags.catalystLockscreenFromDisplaySettings()
+
+    override fun hasCompleteHierarchy() = false
+
+    override fun fragmentClass() = LockscreenDashboardFragment::class.java
+
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {
+        // add hierarchy here
+    }
+
+    companion object {
+        const val KEY = "lockscreen_from_display_settings"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/security/LockscreenDashboardFragment.java b/src/com/android/settings/security/LockscreenDashboardFragment.java
index 2e4a1f2..1e299a3 100644
--- a/src/com/android/settings/security/LockscreenDashboardFragment.java
+++ b/src/com/android/settings/security/LockscreenDashboardFragment.java
@@ -29,6 +29,8 @@
 import android.os.Looper;
 import android.provider.Settings;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
@@ -160,6 +162,11 @@
         }
     }
 
+    @Override
+    public @Nullable String getPreferenceScreenBindingKey(@NonNull Context context) {
+        return LockScreenPreferenceScreen.KEY;
+    }
+
     private AmbientDisplayConfiguration getConfig(Context context) {
         if (mConfig == null) {
             mConfig = new AmbientDisplayConfiguration(context);
diff --git a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
index fa9cee2..f7e53ec 100644
--- a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
@@ -140,18 +140,20 @@
 
         AppButtons(packageInfoPresenter, isHibernationSwitchEnabledStateFlow)
 
-        AppSettingsPreference(app)
-        AppAllServicesPreference(app)
-        AppNotificationPreference(app)
-        AppPermissionPreference(app)
-        AppStoragePreference(app)
-        InstantAppDomainsPreference(app)
-        AppDataUsagePreference(app)
-        AppTimeSpentPreference(app)
-        AppBatteryPreference(app)
-        AppLocalePreference(app)
-        AppOpenByDefaultPreference(app)
-        DefaultAppShortcuts(app)
+        Category {
+            AppSettingsPreference(app)
+            AppAllServicesPreference(app)
+            AppNotificationPreference(app)
+            AppPermissionPreference(app)
+            AppStoragePreference(app)
+            InstantAppDomainsPreference(app)
+            AppDataUsagePreference(app)
+            AppTimeSpentPreference(app)
+            AppBatteryPreference(app)
+            AppLocalePreference(app)
+            AppOpenByDefaultPreference(app)
+            DefaultAppShortcuts(app)
+        }
 
         Category(title = stringResource(R.string.unused_apps_category)) {
             HibernationSwitchPreference(app, isHibernationSwitchEnabledStateFlow)
diff --git a/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProvider.kt b/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProvider.kt
index f077506..5c27f5b 100644
--- a/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProvider.kt
+++ b/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProvider.kt
@@ -107,7 +107,7 @@
         PowerAllowlistBackend.getInstance(context).refreshList()
         return recordListFlow.filterItem {
             val appOptimizationMode = BatteryOptimizeUtils(context, it.app.uid, it.app.packageName)
-                .getAppOptimizationMode(/* refreshList */ false);
+                .getAppOptimizationMode(/* refreshList */ false, /* ignoreUnknownMode */ true);
             when (OptimizationModeSpinnerItem.entries.getOrNull(option)) {
                 OptimizationModeSpinnerItem.Restricted ->
                     appOptimizationMode == BatteryOptimizeUtils.MODE_RESTRICTED
diff --git a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
index fe90a2a..2dc5b2d 100644
--- a/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
+++ b/src/com/android/settings/users/AddUserWhenLockedPreferenceController.java
@@ -46,8 +46,6 @@
                 restrictedSwitchPreference.setVisible(true);
                 if (mUserCaps.mDisallowAddUserSetByAdmin) {
                     restrictedSwitchPreference.setDisabledByAdmin(mUserCaps.mEnforcedAdmin);
-                } else if (mUserCaps.mDisallowAddUser) {
-                    restrictedSwitchPreference.setVisible(false);
                 }
             } else {
                 restrictedSwitchPreference.setDisabledByAdmin(
@@ -62,7 +60,11 @@
         if (!mUserCaps.isAdmin()) {
             return DISABLED_FOR_USER;
         } else if (android.multiuser.Flags.newMultiuserSettingsUx()) {
-            return AVAILABLE;
+            if (mUserCaps.mDisallowAddUser && !mUserCaps.mDisallowAddUserSetByAdmin) {
+                return DISABLED_FOR_USER;
+            } else {
+                return AVAILABLE;
+            }
         } else if (mUserCaps.disallowAddUser() || mUserCaps.disallowAddUserSetByAdmin()) {
             return DISABLED_FOR_USER;
         } else {
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index e5581d3..dddbd63 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -54,9 +54,9 @@
 import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
-import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.network.ims.WifiCallingQueryImsState;
 import com.android.settings.network.telephony.wificalling.IWifiCallingRepository;
 import com.android.settings.network.telephony.wificalling.WifiCallingRepository;
@@ -70,7 +70,7 @@
  * This is the inner class of {@link WifiCallingSettings} fragment.
  * The preference screen lets you enable/disable Wi-Fi Calling and change Wi-Fi Calling mode.
  */
-public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
+public class WifiCallingSettingsForSub extends DashboardFragment
         implements OnCheckedChangeListener,
         Preference.OnPreferenceChangeListener {
     private static final String TAG = "WifiCallingForSub";
@@ -266,8 +266,6 @@
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        addPreferencesFromResource(R.xml.wifi_calling_settings);
-
         // SubId should always be specified when creating this fragment. Either through
         // fragment.setArguments() or through savedInstanceState.
         if (getArguments() != null && getArguments().containsKey(FRAGMENT_BUNDLE_SUBID)) {
@@ -447,6 +445,11 @@
     }
 
     @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.wifi_calling_settings;
+    }
+
+    @Override
     public void onPause() {
         super.onPause();
         Context context = getActivity();
@@ -571,6 +574,11 @@
         }
     }
 
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
     private void updateButtonWfcMode(boolean wfcEnabled,
             int wfcMode, int wfcRoamingMode) {
         mButtonWfcMode.setSummary(getWfcModeSummary(wfcMode));
diff --git a/tests/Enable16KbTests/Android.bp b/tests/Enable16KbTests/Android.bp
index 7e1d32c..72826bb 100644
--- a/tests/Enable16KbTests/Android.bp
+++ b/tests/Enable16KbTests/Android.bp
@@ -53,7 +53,7 @@
         "compatibility-host-util",
         "compatibility-tradefed",
     ],
-    data: [
+    device_common_data: [
         ":test_16kb_app",
     ],
     test_suites: ["general-tests"],
diff --git a/tests/robotests/Android.bp b/tests/robotests/Android.bp
index 84c84b0..1cac363 100644
--- a/tests/robotests/Android.bp
+++ b/tests/robotests/Android.bp
@@ -109,7 +109,10 @@
 
 java_library {
     name: "Settings-robo-testutils",
-    srcs: ["testutils/**/*.java"],
+    srcs: [
+        "testutils/**/*.java",
+        "testutils/**/*.kt",
+    ],
     libs: [
         "Robolectric_all-target_upstream",
         "Settings-core",
diff --git a/tests/robotests/OWNERS b/tests/robotests/OWNERS
index 8a7a27e..e15af1c 100644
--- a/tests/robotests/OWNERS
+++ b/tests/robotests/OWNERS
@@ -1,2 +1,3 @@
 # We do not guard tests - everyone is welcomed to contribute to tests.
-per-file *.java=*
\ No newline at end of file
+per-file *.java=*
+per-file *.kt=*
diff --git a/tests/robotests/src/com/android/settings/accessibility/ColorAndMotionScreenTest.kt b/tests/robotests/src/com/android/settings/accessibility/ColorAndMotionScreenTest.kt
new file mode 100644
index 0000000..67fbc1a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/ColorAndMotionScreenTest.kt
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2024 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.accessibility
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.android.settingslib.preference.PreferenceScreenCreator
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class ColorAndMotionScreenTest : CatalystScreenTestCase() {
+    override val preferenceScreenCreator: PreferenceScreenCreator = ColorAndMotionScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_ACCESSIBILITY_COLOR_AND_MOTION
+
+    override fun migration() {}
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(ColorAndMotionScreen.KEY)
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingScreenTest.kt b/tests/robotests/src/com/android/settings/accessibility/TextReadingScreenTest.kt
new file mode 100644
index 0000000..bdc69c9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingScreenTest.kt
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2024 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.accessibility
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class TextReadingScreenTest : CatalystScreenTestCase() {
+
+    override val preferenceScreenCreator = TextReadingScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_TEXT_READING_SCREEN
+
+    override fun migration() {}
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(TextReadingScreen.KEY)
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/VibrationIntensityScreenTest.kt b/tests/robotests/src/com/android/settings/accessibility/VibrationIntensityScreenTest.kt
new file mode 100644
index 0000000..99851de
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/VibrationIntensityScreenTest.kt
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2024 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.accessibility
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class VibrationIntensityScreenTest : CatalystScreenTestCase() {
+
+    override val preferenceScreenCreator = VibrationIntensityScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_VIBRATION_INTENSITY_SCREEN
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(VibrationIntensityScreen.KEY)
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragmentTest.java
index 414fe63..b3270e9 100644
--- a/tests/robotests/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragmentTest.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.accessibility.shortcuts;
 
+import static android.provider.Settings.ACTION_ACCESSIBILITY_SHORTCUT_SETTINGS;
+
+import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
 import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_COMPONENT_NAME;
 import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
 import static com.android.internal.accessibility.common.ShortcutConstants.UserShortcutType.SOFTWARE;
@@ -45,6 +48,7 @@
 import android.view.accessibility.AccessibilityManager;
 import android.view.accessibility.Flags;
 
+import androidx.annotation.Nullable;
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.testing.FragmentScenario;
 import androidx.lifecycle.Lifecycle;
@@ -160,7 +164,7 @@
     public void showEditShortcutScreen_inSuw_launchSubSettingWithSuw() {
         EditShortcutsPreferenceFragment.showEditShortcutScreen(
                 mActivity, METRICS_CATEGORY, SCREEN_TITLE,
-                TARGET_FAKE_COMPONENT, createSuwIntent(new Intent(), /* isInSuw= */ true));
+                TARGET_FAKE_COMPONENT, setIntentInSuw(new Intent(), /* isInSuw= */ true));
 
         assertLaunchSubSettingWithCurrentTargetComponents(
                 TARGET_FAKE_COMPONENT.flattenToString(), /* isInSuw= */ true);
@@ -199,6 +203,53 @@
     }
 
     @Test
+    @EnableFlags(
+            com.android.settings.accessibility.Flags.FLAG_TOGGLE_FEATURE_FRAGMENT_COLLECTION_INFO)
+    public void shortcutDescriptionPref_defaultLaunch_notVisible() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false, TARGET);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        mFragmentScenario.onFragment(fragment -> {
+            Preference preference = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcut_description_pref));
+            assertThat(preference.isVisible()).isFalse();
+        });
+    }
+
+    @Test
+    @EnableFlags(
+            com.android.settings.accessibility.Flags.FLAG_TOGGLE_FEATURE_FRAGMENT_COLLECTION_INFO)
+    public void shortcutDescriptionPref_launchFromAction_singleTarget_notVisible() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false, List.of(TARGET),
+                ACTION_ACCESSIBILITY_SHORTCUT_SETTINGS);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        mFragmentScenario.onFragment(fragment -> {
+            Preference preference = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcut_description_pref));
+            assertThat(preference.isVisible()).isFalse();
+        });
+    }
+
+    @Test
+    @EnableFlags(
+            com.android.settings.accessibility.Flags.FLAG_TOGGLE_FEATURE_FRAGMENT_COLLECTION_INFO)
+    public void shortcutDescriptionPref_launchFromAction_multipleTargets_isVisible() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false,
+                // Both of these components are system components with known labels, so we don't
+                // need to mock AccessibilityManager with fake labels.
+                List.of(TARGET, DALTONIZER_COMPONENT_NAME.flattenToString()),
+                ACTION_ACCESSIBILITY_SHORTCUT_SETTINGS);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        mFragmentScenario.onFragment(fragment -> {
+            Preference preference = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcut_description_pref));
+            assertThat(preference.isVisible()).isTrue();
+        });
+    }
+
+    @Test
     public void fragmentCreated_settingsObserversAreRegistered() {
         ShadowContentResolver contentResolver = shadowOf(mContext.getContentResolver());
         for (Uri uri : SHORTCUT_SETTINGS) {
@@ -654,9 +705,14 @@
 
     private FragmentScenario<EditShortcutsPreferenceFragment> createFragScenario(
             boolean isInSuw, String target) {
+        return createFragScenario(isInSuw, List.of(target), null);
+    }
+    private FragmentScenario<EditShortcutsPreferenceFragment> createFragScenario(
+            boolean isInSuw, List<String> targets, @Nullable String intentAction) {
         Bundle args = new Bundle();
         args.putStringArray(
-                EditShortcutsPreferenceFragment.ARG_KEY_SHORTCUT_TARGETS, new String[]{target});
+                EditShortcutsPreferenceFragment.ARG_KEY_SHORTCUT_TARGETS,
+                targets.toArray(new String[0]));
         FragmentScenario<EditShortcutsPreferenceFragment> scenario =
                 FragmentScenario.launch(
                         EditShortcutsPreferenceFragment.class, args,
@@ -664,7 +720,11 @@
         scenario.onFragment(fragment -> {
             Intent intent = fragment.requireActivity().getIntent();
             intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE, SCREEN_TITLE);
-            fragment.requireActivity().setIntent(createSuwIntent(intent, isInSuw));
+            setIntentInSuw(intent, isInSuw);
+            if (intentAction != null) {
+                intent.setAction(intentAction);
+            }
+            fragment.requireActivity().setIntent(intent);
             // Since the fragment is attached before we have a chance
             // to modify the activity's intent; initialize controllers again
             fragment.initializePreferenceControllerArguments();
@@ -672,11 +732,7 @@
         return scenario;
     }
 
-    private Intent createSuwIntent(Intent intent, boolean isInSuw) {
-
-        if (intent == null) {
-            intent = new Intent();
-        }
+    private Intent setIntentInSuw(Intent intent, boolean isInSuw) {
         intent.putExtra(EXTRA_IS_SETUP_FLOW, isInSuw);
         intent.putExtra(EXTRA_IS_FIRST_RUN, isInSuw);
         intent.putExtra(EXTRA_IS_PRE_DEFERRED_SETUP, isInSuw);
diff --git a/tests/robotests/src/com/android/settings/applications/contacts/ContactsStoragePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/contacts/ContactsStoragePreferenceControllerTest.java
index a934cba..f55cbb4 100644
--- a/tests/robotests/src/com/android/settings/applications/contacts/ContactsStoragePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/contacts/ContactsStoragePreferenceControllerTest.java
@@ -16,8 +16,9 @@
 
 package com.android.settings.applications.contacts;
 
-import static android.provider.ContactsContract.Settings.KEY_DEFAULT_ACCOUNT;
-import static android.provider.ContactsContract.Settings.QUERY_DEFAULT_ACCOUNT_METHOD;
+import static android.provider.ContactsContract.RawContacts.DefaultAccount.KEY_DEFAULT_ACCOUNT_STATE;
+import static android.provider.ContactsContract.RawContacts.DefaultAccount.QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD;
+import static android.provider.ContactsContract.Settings;
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
@@ -28,25 +29,26 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.when;
 
-
 import android.accounts.Account;
 import android.accounts.AccountManager;
+import android.content.ContentProviderClient;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.Resources;
 import android.os.Bundle;
 import android.platform.test.annotations.EnableFlags;
+import android.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.ContactsContract;
+import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState;
 
 import com.android.settings.R;
 import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowAuthenticationHelper;
 
 import org.junit.Before;
-import android.platform.test.annotations.RequiresFlagsDisabled;
-import android.platform.test.flag.junit.CheckFlagsRule;
-import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -62,11 +64,6 @@
 
     private static final String CONTACTS_DEFAULT_ACCOUNT_PREFERENCE_KEY =
             "contacts_default_account";
-    private static final Account TEST_ACCOUNT1 = new Account("test@gmail.com", "type1");
-
-    private static final Account TEST_ACCOUNT2 = new Account("test@samsung.com", "type2");
-
-    private static final Account TEST_ACCOUNT3 = new Account("LABEL3", "type3");
 
     @Rule
     public final MockitoRule mockito = MockitoJUnit.rule();
@@ -84,6 +81,9 @@
     private ContentResolver mContentResolver;
 
     @Mock
+    private ContentProviderClient mContentProviderClient;
+
+    @Mock
     private Resources mResources;
 
     @Mock
@@ -94,9 +94,15 @@
     @Before
     public void setUp() throws Exception {
         when(mContext.getContentResolver()).thenReturn(mContentResolver);
+        when(mContentResolver.acquireContentProviderClient(
+                eq(ContactsContract.AUTHORITY_URI))).thenReturn(mContentProviderClient);
         when(mContext.getSystemService(eq(Context.ACCOUNT_SERVICE))).thenReturn(mAccountManager);
         when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[]{});
-
+        Bundle bundle = new Bundle();
+        bundle.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_NOT_SET);
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(bundle);
         mPreferenceController = new ContactsStoragePreferenceController(mContext,
                 CONTACTS_DEFAULT_ACCOUNT_PREFERENCE_KEY);
     }
@@ -104,13 +110,39 @@
     @Test
     @EnableFlags(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS)
     public void getAvailabilityStatus_flagIsOn_shouldReturnAvailable() {
-
         assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
     @RequiresFlagsDisabled(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS)
     public void getAvailabilityStatus_flagIsOff_shouldReturnConditionallyUnavailable() {
+        assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo(
+                CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS)
+    public void getAvailabilityStatus_illegalStateExceptionThrown_shouldReturnConditionallyUnavailable()
+            throws Exception {
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenThrow(new IllegalStateException());
+
+        mPreferenceController = new ContactsStoragePreferenceController(mContext,
+                CONTACTS_DEFAULT_ACCOUNT_PREFERENCE_KEY);
+
+        assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo(
+                CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS)
+    public void getAvailabilityStatus_runtimeExceptionThrown_shouldReturnConditionallyUnavailable()
+            throws Exception {
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenThrow(new RuntimeException());
+
+        mPreferenceController = new ContactsStoragePreferenceController(mContext,
+                CONTACTS_DEFAULT_ACCOUNT_PREFERENCE_KEY);
 
         assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo(
                 CONDITIONALLY_UNAVAILABLE);
@@ -118,43 +150,77 @@
 
     @Test
     public void getSummary_noAccountIsSetAsDefault_shouldReturnNoAccountSetSummary() {
-        Bundle bundle = new Bundle();
-        bundle.putParcelable(KEY_DEFAULT_ACCOUNT, null);
-        when(mContentResolver.call(eq(ContactsContract.AUTHORITY_URI),
-                eq(QUERY_DEFAULT_ACCOUNT_METHOD), any(), any())).thenReturn(bundle);
         when(mContext.getResources()).thenReturn(mResources);
-        when(mResources.getString(eq(R.string.contacts_storage_no_account_set))).thenReturn(
+        when(mResources.getString(eq(R.string.contacts_storage_no_account_set_summary))).thenReturn(
                 "No default set");
 
+        // Fetch the default account from CP2.
+        mPreferenceController = new ContactsStoragePreferenceController(mContext,
+                CONTACTS_DEFAULT_ACCOUNT_PREFERENCE_KEY);
+
         assertThat(mPreferenceController.getSummary()).isEqualTo("No default set");
     }
 
     @Test
-    public void getSummary_googleAccountIsSetAsDefault_shouldReturnGoogleAccountTypeAndAccountName() {
+    public void getSummary_localAccountIsSetAsDefault_shouldReturnLocalAccountSetSummary()
+            throws Exception {
         Bundle bundle = new Bundle();
-        bundle.putParcelable(KEY_DEFAULT_ACCOUNT, TEST_ACCOUNT1);
-        when(mContentResolver.call(eq(ContactsContract.AUTHORITY_URI),
-                eq(QUERY_DEFAULT_ACCOUNT_METHOD), any(), any())).thenReturn(bundle);
+        bundle.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_LOCAL);
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(bundle);
+        when(mContext.getResources()).thenReturn(mResources);
+        when(mResources.getString(eq(R.string.contacts_storage_local_account_summary))).thenReturn(
+                "Device only");
+        mPreferenceController = new ContactsStoragePreferenceController(mContext,
+                CONTACTS_DEFAULT_ACCOUNT_PREFERENCE_KEY);
+
+        assertThat(mPreferenceController.getSummary()).isEqualTo("Device only");
+    }
+
+    @Test
+    public void getSummary_googleAccountIsSetAsDefault_shouldReturnGoogleAccountTypeAndAccountName()
+            throws Exception {
+        Bundle bundle = new Bundle();
+        bundle.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_CLOUD);
+        bundle.putString(Settings.ACCOUNT_TYPE, "type1");
+        bundle.putString(Settings.ACCOUNT_NAME, "test@gmail.com");
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(bundle);
+        mPreferenceController = new ContactsStoragePreferenceController(mContext,
+                CONTACTS_DEFAULT_ACCOUNT_PREFERENCE_KEY);
 
         assertThat(mPreferenceController.getSummary()).isEqualTo("LABEL1 | test@gmail.com");
     }
 
     @Test
-    public void getSummary_samsungAccountIsSetAsDefault_shouldReturnSamsungAccountTypeAndAccountName() {
+    public void getSummary_samsungAccountIsSetAsDefault_shouldReturnSamsungAccountTypeAndAccountName()
+            throws Exception {
         Bundle bundle = new Bundle();
-        bundle.putParcelable(KEY_DEFAULT_ACCOUNT, TEST_ACCOUNT2);
-        when(mContentResolver.call(eq(ContactsContract.AUTHORITY_URI),
-                eq(QUERY_DEFAULT_ACCOUNT_METHOD), any(), any())).thenReturn(bundle);
+        bundle.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_CLOUD);
+        bundle.putString(Settings.ACCOUNT_TYPE, "type2");
+        bundle.putString(Settings.ACCOUNT_NAME, "test@samsung.com");
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(bundle);
+        mPreferenceController = new ContactsStoragePreferenceController(mContext,
+                CONTACTS_DEFAULT_ACCOUNT_PREFERENCE_KEY);
 
         assertThat(mPreferenceController.getSummary()).isEqualTo("LABEL2 | test@samsung.com");
     }
 
     @Test
-    public void getSummary_accountLabelSameAsAccountName_onlyReturnAccountName() {
+    public void getSummary_accountLabelSameAsAccountName_onlyReturnAccountName() throws Exception {
         Bundle bundle = new Bundle();
-        bundle.putParcelable(KEY_DEFAULT_ACCOUNT, TEST_ACCOUNT3);
-        when(mContentResolver.call(eq(ContactsContract.AUTHORITY_URI),
-                eq(QUERY_DEFAULT_ACCOUNT_METHOD), any(), any())).thenReturn(bundle);
+        bundle.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_CLOUD);
+        bundle.putString(Settings.ACCOUNT_TYPE, "type3");
+        bundle.putString(Settings.ACCOUNT_NAME, "LABEL3");
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(bundle);
+        mPreferenceController = new ContactsStoragePreferenceController(mContext,
+                CONTACTS_DEFAULT_ACCOUNT_PREFERENCE_KEY);
 
         // Since package name and account name is the same, we only return account name.
         assertThat(mPreferenceController.getSummary()).isEqualTo("LABEL3");
diff --git a/tests/robotests/src/com/android/settings/applications/contacts/ContactsStorageSettingsTest.java b/tests/robotests/src/com/android/settings/applications/contacts/ContactsStorageSettingsTest.java
index 785ef4a..a8c86e1 100644
--- a/tests/robotests/src/com/android/settings/applications/contacts/ContactsStorageSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/contacts/ContactsStorageSettingsTest.java
@@ -15,16 +15,17 @@
  */
 package com.android.settings.applications.contacts;
 
-import static android.provider.ContactsContract.Settings.KEY_DEFAULT_ACCOUNT;
-import static android.provider.ContactsContract.Settings.QUERY_DEFAULT_ACCOUNT_METHOD;
-import static android.provider.ContactsContract.Settings.SET_DEFAULT_ACCOUNT_METHOD;
+import static android.provider.ContactsContract.RawContacts.DefaultAccount.KEY_DEFAULT_ACCOUNT_STATE;
+import static android.provider.ContactsContract.RawContacts.DefaultAccount.KEY_ELIGIBLE_DEFAULT_ACCOUNTS;
+import static android.provider.ContactsContract.RawContacts.DefaultAccount.QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD;
+import static android.provider.ContactsContract.RawContacts.DefaultAccount.QUERY_ELIGIBLE_DEFAULT_ACCOUNTS_METHOD;
+import static android.provider.ContactsContract.RawContacts.DefaultAccount.SET_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD;
 import static android.provider.Settings.ACTION_ADD_ACCOUNT;
 import static android.provider.Settings.EXTRA_ACCOUNT_TYPES;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -33,14 +34,17 @@
 import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.app.settings.SettingsEnums;
+import android.content.ContentProviderClient;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources;
 import android.os.Bundle;
 import android.provider.ContactsContract;
+import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState;
 import android.provider.SearchIndexableResource;
 
+import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
@@ -63,6 +67,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
@@ -76,6 +81,8 @@
 
     private static final Account TEST_ACCOUNT2 = new Account("test@samsung.com", "type2");
 
+    private static final Account TEST_ACCOUNT3 = new Account("test@outlook.com", "type3");
+
     @Rule
     public final MockitoRule mockito = MockitoJUnit.rule();
     @Spy
@@ -83,8 +90,7 @@
     @Mock
     private ContentResolver mContentResolver;
     @Mock
-    private AccountManager mAccountManager;
-
+    private ContentProviderClient mContentProviderClient;
     private PreferenceManager mPreferenceManager;
     private TestContactsStorageSettings mContactsStorageSettings;
     private PreferenceScreen mScreen;
@@ -92,8 +98,8 @@
     @Before
     public void setUp() throws Exception {
         mContactsStorageSettings = spy(new TestContactsStorageSettings(mContext, mContentResolver));
-        when(mContext.getSystemService(eq(Context.ACCOUNT_SERVICE))).thenReturn(mAccountManager);
-        when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[]{});
+        when(mContentResolver.acquireContentProviderClient(
+                eq(ContactsContract.AUTHORITY_URI))).thenReturn(mContentProviderClient);
         mPreferenceManager = new PreferenceManager(mContext);
         when(mContactsStorageSettings.getPreferenceManager()).thenReturn(mPreferenceManager);
         mScreen = spy(new PreferenceScreen(mContext, /* attrs= */ null));
@@ -115,12 +121,17 @@
     }
 
     @Test
-    public void verifyDeviceOnlyPreference_onClick_setDefaultAccountToNull() {
-        when(mAccountManager.getAccounts()).thenReturn(new Account[]{});
-        Bundle bundle = new Bundle();
-        bundle.putParcelable(KEY_DEFAULT_ACCOUNT, null);
-        when(mContentResolver.call(eq(ContactsContract.AUTHORITY_URI),
-                eq(QUERY_DEFAULT_ACCOUNT_METHOD), any(), any())).thenReturn(bundle);
+    public void verifyDeviceOnlyPreference_onClick_setDefaultAccountToNull() throws Exception {
+        Bundle currentDefaultAccount = new Bundle();
+        currentDefaultAccount.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_NOT_SET);
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(currentDefaultAccount);
+        Bundle eligibleAccountBundle = new Bundle();
+        eligibleAccountBundle.putParcelableArrayList(KEY_ELIGIBLE_DEFAULT_ACCOUNTS,
+                new ArrayList<>());
+        when(mContentProviderClient.call(eq(QUERY_ELIGIBLE_DEFAULT_ACCOUNTS_METHOD), any(),
+                any())).thenReturn(eligibleAccountBundle);
 
         PreferenceScreen settingScreen = mPreferenceManager.inflateFromResource(mContext,
                 R.xml.contacts_storage_settings, mScreen);
@@ -139,18 +150,27 @@
 
         assertThat(deviceOnlyPreference.isChecked()).isTrue();
         ArgumentCaptor<Bundle> captor = ArgumentCaptor.forClass(Bundle.class);
-        verify(mContentResolver).call(eq(ContactsContract.AUTHORITY_URI),
-                eq(SET_DEFAULT_ACCOUNT_METHOD), any(), captor.capture());
+        verify(mContentProviderClient).call(eq(SET_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                captor.capture());
         Bundle accountBundle = captor.getValue();
         assertThat(accountBundle.getString(ContactsContract.Settings.ACCOUNT_NAME)).isNull();
         assertThat(accountBundle.getString(ContactsContract.Settings.ACCOUNT_TYPE)).isNull();
     }
 
     @Test
-    public void verifyAddAccountPreference_onClick_startAddAccountActivity() {
-        when(mAccountManager.getAccounts()).thenReturn(new Account[]{});
-        when(mContentResolver.call(eq(ContactsContract.AUTHORITY_URI),
-                eq(QUERY_DEFAULT_ACCOUNT_METHOD), any(), any())).thenReturn(Bundle.EMPTY);
+    public void verifyAddAccountPreference_eligibleAccountsAvailable_startAddAccountActivityOnClick()
+            throws Exception {
+        Bundle currentDefaultAccount = new Bundle();
+        currentDefaultAccount.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_NOT_SET);
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(currentDefaultAccount);
+        Bundle eligibleAccountBundle = new Bundle();
+        eligibleAccountBundle.putParcelableArrayList(KEY_ELIGIBLE_DEFAULT_ACCOUNTS,
+                new ArrayList<>());
+        when(mContentProviderClient.call(eq(QUERY_ELIGIBLE_DEFAULT_ACCOUNTS_METHOD), any(),
+                any())).thenReturn(eligibleAccountBundle);
+        mContactsStorageSettings.setEligibleAccountTypes(new String[]{"com.google"});
 
         mContactsStorageSettings.refreshUI();
 
@@ -167,16 +187,45 @@
         assertThat(addAccountIntent.getComponent().getClassName()).isEqualTo(
                 AddAccountSettings.class.getCanonicalName());
         String[] eligibleAccounts = (String[]) addAccountIntent.getExtra(EXTRA_ACCOUNT_TYPES);
-        assertThat(eligibleAccounts).isEmpty();
+        assertThat(List.of(eligibleAccounts)).containsExactly("com.google");
     }
 
     @Test
-    public void verifyEligibleAccountPreference_onClick_setSelectedDefaultAccount() {
-        when(mAccountManager.getAccounts()).thenReturn(new Account[]{TEST_ACCOUNT1, TEST_ACCOUNT2});
-        Bundle bundle = new Bundle();
-        bundle.putParcelable(KEY_DEFAULT_ACCOUNT, TEST_ACCOUNT2);
-        when(mContentResolver.call(eq(ContactsContract.AUTHORITY_URI),
-                eq(QUERY_DEFAULT_ACCOUNT_METHOD), any(), any())).thenReturn(bundle);
+    public void verifyAddAccountPreference_noEligibleAccountsAvailable_dontShowPreference()
+            throws Exception {
+        Bundle currentDefaultAccount = new Bundle();
+        currentDefaultAccount.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_NOT_SET);
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(currentDefaultAccount);
+        Bundle eligibleAccountBundle = new Bundle();
+        eligibleAccountBundle.putParcelableArrayList(KEY_ELIGIBLE_DEFAULT_ACCOUNTS,
+                new ArrayList<>());
+        when(mContentProviderClient.call(eq(QUERY_ELIGIBLE_DEFAULT_ACCOUNTS_METHOD), any(),
+                any())).thenReturn(eligibleAccountBundle);
+        mContactsStorageSettings.setEligibleAccountTypes(new String[]{});
+
+        mContactsStorageSettings.refreshUI();
+
+        Preference addAccountPreference = mScreen.findPreference(PREF_KEY_ADD_ACCOUNT);
+        assertThat(addAccountPreference).isNull();
+    }
+
+    @Test
+    public void verifyEligibleAccountPreference_onClick_setSelectedDefaultAccount()
+            throws Exception {
+        Bundle currentDefaultAccount = new Bundle();
+        currentDefaultAccount.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_LOCAL);
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(currentDefaultAccount);
+        Bundle eligibleAccountBundle = new Bundle();
+        ArrayList<Account> eligibleAccounts = new ArrayList<>(
+                List.of(TEST_ACCOUNT1, TEST_ACCOUNT2));
+        eligibleAccountBundle.putParcelableArrayList(KEY_ELIGIBLE_DEFAULT_ACCOUNTS,
+                eligibleAccounts);
+        when(mContentProviderClient.call(eq(QUERY_ELIGIBLE_DEFAULT_ACCOUNTS_METHOD), any(),
+                any())).thenReturn(eligibleAccountBundle);
 
         mContactsStorageSettings.refreshUI();
 
@@ -197,8 +246,8 @@
         assertThat(account2Preference.isChecked()).isTrue();
 
         ArgumentCaptor<Bundle> captor = ArgumentCaptor.forClass(Bundle.class);
-        verify(mContentResolver).call(eq(ContactsContract.AUTHORITY_URI),
-                eq(SET_DEFAULT_ACCOUNT_METHOD), any(), captor.capture());
+        verify(mContentProviderClient).call(eq(SET_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                captor.capture());
         Bundle setAccountBundle = captor.getValue();
         assertThat(setAccountBundle.getString(ContactsContract.Settings.ACCOUNT_NAME)).isEqualTo(
                 "test@samsung.com");
@@ -207,6 +256,49 @@
     }
 
     @Test
+    public void verifyAccountPreference_defaultAccountIsNotEligibleCloudAccount_createNewDefaultAccountPreference()
+            throws Exception {
+        Bundle currentDefaultAccount = new Bundle();
+        currentDefaultAccount.putInt(KEY_DEFAULT_ACCOUNT_STATE,
+                DefaultAccountAndState.DEFAULT_ACCOUNT_STATE_CLOUD);
+        currentDefaultAccount.putString(ContactsContract.Settings.ACCOUNT_NAME, TEST_ACCOUNT3.name);
+        currentDefaultAccount.putString(ContactsContract.Settings.ACCOUNT_TYPE, TEST_ACCOUNT3.type);
+        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
+                any())).thenReturn(currentDefaultAccount);
+        Bundle eligibleAccountBundle = new Bundle();
+        ArrayList<Account> eligibleAccounts = new ArrayList<>(
+                List.of(TEST_ACCOUNT1, TEST_ACCOUNT2));
+        eligibleAccountBundle.putParcelableArrayList(KEY_ELIGIBLE_DEFAULT_ACCOUNTS,
+                eligibleAccounts);
+        when(mContentProviderClient.call(eq(QUERY_ELIGIBLE_DEFAULT_ACCOUNTS_METHOD), any(),
+                any())).thenReturn(eligibleAccountBundle);
+
+        mContactsStorageSettings.refreshUI();
+
+        SelectorWithWidgetPreference account1Preference = mScreen.findPreference(
+                String.valueOf(TEST_ACCOUNT1.hashCode()));
+        assertThat(account1Preference.getTitle()).isEqualTo("LABEL1");
+        assertThat(account1Preference.getSummary()).isEqualTo("test@gmail.com");
+        assertThat(account1Preference.getIcon()).isNotNull();
+
+        SelectorWithWidgetPreference account2Preference = mScreen.findPreference(
+                String.valueOf(TEST_ACCOUNT2.hashCode()));
+        assertThat(account2Preference.getTitle()).isEqualTo("LABEL2");
+        assertThat(account2Preference.getSummary()).isEqualTo("test@samsung.com");
+        assertThat(account2Preference.getIcon()).isNotNull();
+
+        SelectorWithWidgetPreference account3Preference = mScreen.findPreference(
+                String.valueOf(TEST_ACCOUNT3.hashCode()));
+        assertThat(account3Preference.getTitle()).isEqualTo("LABEL3");
+        assertThat(account3Preference.getSummary()).isEqualTo("test@outlook.com");
+        assertThat(account3Preference.getIcon()).isNotNull();
+
+        assertThat(account1Preference.isChecked()).isFalse();
+        assertThat(account2Preference.isChecked()).isFalse();
+        assertThat(account3Preference.isChecked()).isTrue();
+    }
+
+    @Test
     public void searchIndexProvider_shouldIndexResource() {
         final List<SearchIndexableResource> indexRes =
                 ContactsStorageSettings.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
@@ -220,6 +312,7 @@
     private static class TestContactsStorageSettings extends ContactsStorageSettings {
         private final Context mContext;
         private final ContentResolver mContentResolver;
+        private String[] mEligibleAccountTypes;
 
         TestContactsStorageSettings(Context context, ContentResolver contentResolver) {
             mContext = context;
@@ -236,5 +329,16 @@
             // Override it so we can access this method in test
             return mContentResolver;
         }
+
+        @Override
+        String[] getEligibleAccountTypes() {
+            return mEligibleAccountTypes == null ? Resources.getSystem().getStringArray(
+                    com.android.internal.R.array.config_rawContactsEligibleDefaultAccountTypes)
+                    : mEligibleAccountTypes;
+        }
+
+        public void setEligibleAccountTypes(String[] eligibleAccountTypes) {
+            mEligibleAccountTypes = eligibleAccountTypes;
+        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
index 8f983de..df2ab45 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
@@ -63,12 +63,14 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.SystemProperty;
 import com.android.settings.widget.RingProgressBar;
 
 import com.airbnb.lottie.LottieAnimationView;
 import com.airbnb.lottie.LottieTask;
 import com.google.android.setupdesign.GlifLayout;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -111,15 +113,23 @@
     private final int[] mSfpsStageThresholds = new int[]{0, 9, 13, 19, 25};
     private final int[] mUdfpsStageThresholds = new int[]{0, 13, 17, 22};
 
+    private final SystemProperty mSystemProperty = new SystemProperty();
+
     private FingerprintEnrollEnrolling mActivity;
     private Context mContext;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        mSystemProperty.override("robolectric.createActivityContexts", "true");
         FakeFeatureFactory.setupForTest();
     }
 
+    @After
+    public void tearDown() {
+        mSystemProperty.close();
+    }
+
     @Test
     public void fingerprintUdfpsEnrollSuccessProgress_shouldNotVibrate() {
         initializeActivityFor(TYPE_UDFPS_OPTICAL);
@@ -645,7 +655,6 @@
     }
 
     private void createActivity() {
-        System.setProperty("robolectric.createActivityContexts", "true");
         final Bundle savedInstanceState = new Bundle();
         savedInstanceState.putInt(KEY_STATE_PREVIOUS_ROTATION, Surface.ROTATION_90);
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/BluetoothDashboardScreenTest.kt b/tests/robotests/src/com/android/settings/connecteddevice/BluetoothDashboardScreenTest.kt
new file mode 100644
index 0000000..16db841
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/BluetoothDashboardScreenTest.kt
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2024 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.connecteddevice
+
+import android.content.Intent
+import android.provider.Settings.Global
+import androidx.preference.PreferenceFragmentCompat
+import androidx.test.core.app.ActivityScenario
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.Settings.BluetoothDashboardActivity
+import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class BluetoothDashboardScreenTest : CatalystScreenTestCase() {
+    override val preferenceScreenCreator = BluetoothDashboardScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_BLUETOOTH_SWITCHBAR_SCREEN
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(BluetoothDashboardScreen.KEY)
+    }
+
+    override fun launchFragment(
+        fragmentClass: Class<PreferenceFragmentCompat>,
+        action: (PreferenceFragmentCompat) -> Unit,
+    ) {
+        Global.putInt(appContext.contentResolver, Global.DEVICE_PROVISIONED, 1)
+        val intent = Intent(appContext, BluetoothDashboardActivity::class.java)
+        ActivityScenario.launch<BluetoothDashboardActivity>(intent).use {
+            it.onActivity { activity ->
+                val fragment = activity.supportFragmentManager.fragments[0]
+                assertThat(fragment.javaClass).isEqualTo(fragmentClass)
+                action(fragment as PreferenceFragmentCompat)
+            }
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/LinuxTerminalPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/LinuxTerminalPreferenceControllerTest.java
new file mode 100644
index 0000000..96b6d6a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/LinuxTerminalPreferenceControllerTest.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright 2024 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.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.eq;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.NameNotFoundException;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class LinuxTerminalPreferenceControllerTest {
+
+    @Mock
+    private Context mContext;
+    @Mock
+    private SwitchPreference mPreference;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private PackageManager mPackageManager;
+    @Mock
+    private ApplicationInfo mApplicationInfo;
+
+    private String mTerminalPackageName = "com.android.virtualization.terminal";
+    private LinuxTerminalPreferenceController mController;
+
+    @Before
+    public void setup() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        doReturn(mPackageManager).when(mContext).getPackageManager();
+        doReturn(mApplicationInfo).when(mPackageManager).getApplicationInfo(
+                eq(mTerminalPackageName), any());
+
+        mController = spy(new LinuxTerminalPreferenceController(mContext));
+        doReturn(true).when(mController).isAvailable();
+        doReturn(mTerminalPackageName).when(mController).getTerminalPackageName();
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mPreference);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void isAvailable_whenPackageNameIsNull_returnsFalse() throws Exception {
+        mController = spy(new LinuxTerminalPreferenceController(mContext));
+        doReturn(null).when(mController).getTerminalPackageName();
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_whenAppDoesNotExist_returnsFalse() throws Exception {
+        doThrow(new NameNotFoundException()).when(mPackageManager).getApplicationInfo(
+                eq(mTerminalPackageName), any());
+
+        mController = spy(new LinuxTerminalPreferenceController(mContext));
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void onPreferenceChanged_turnOnTerminal() {
+        mController.onPreferenceChange(null, true);
+
+        verify(mPackageManager).setApplicationEnabledSetting(
+                mTerminalPackageName,
+                PackageManager.COMPONENT_ENABLED_STATE_ENABLED,
+                /* flags= */ 0);
+    }
+
+    @Test
+    public void onPreferenceChanged_turnOffTerminal() {
+        mController.onPreferenceChange(null, false);
+
+        verify(mPackageManager).setApplicationEnabledSetting(
+                mTerminalPackageName,
+                PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
+                /* flags= */ 0);
+    }
+
+    @Test
+    public void updateState_preferenceShouldBeChecked() {
+        when(mPackageManager.getApplicationEnabledSetting(mTerminalPackageName))
+                .thenReturn(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_preferenceShouldNotBeChecked() {
+        when(mPackageManager.getApplicationEnabledSetting(mTerminalPackageName))
+                .thenReturn(PackageManager.COMPONENT_ENABLED_STATE_DEFAULT);
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/display/DeviceStateAutoRotateDetailsFragmentTest.java b/tests/robotests/src/com/android/settings/display/DeviceStateAutoRotateDetailsFragmentTest.java
index e5940b6..d1c32a2 100644
--- a/tests/robotests/src/com/android/settings/display/DeviceStateAutoRotateDetailsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/display/DeviceStateAutoRotateDetailsFragmentTest.java
@@ -16,16 +16,26 @@
 
 package com.android.settings.display;
 
+import static android.hardware.devicestate.DeviceState.PROPERTY_EMULATED_ONLY;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FEATURE_REAR_DISPLAY;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN;
 import static android.provider.Settings.Secure.DEVICE_STATE_ROTATION_LOCK_LOCKED;
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.res.Resources;
+import android.hardware.devicestate.DeviceState;
+import android.hardware.devicestate.DeviceStateManager;
 
 import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -34,29 +44,61 @@
 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;
 
 import java.util.List;
+import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
 public class DeviceStateAutoRotateDetailsFragmentTest {
-    private static final int FOLDED_STATE = 0;
-    private static final int HALF_FOLDED_STATE = 1;
-    private static final int UNFOLDED_STATE = 2;
-    private static final int REAR_DISPLAY_STATE = 3;
+    private static final DeviceState DEVICE_STATE_FOLDED = new DeviceState(
+            new DeviceState.Configuration.Builder(/* identifier= */ 0, "FOLDED")
+                    .setSystemProperties(Set.of(
+                            PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY))
+                    .setPhysicalProperties(Set.of(
+                            PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED))
+                    .build());
+    private static final DeviceState DEVICE_STATE_HALF_FOLDED = new DeviceState(
+            new DeviceState.Configuration.Builder(/* identifier= */ 1, "HALF_FOLDED")
+                    .setSystemProperties(Set.of(
+                            PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY))
+                    .setPhysicalProperties(Set.of(
+                            PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN))
+                    .build());
+    private static final DeviceState DEVICE_STATE_UNFOLDED = new DeviceState(
+            new DeviceState.Configuration.Builder(/* identifier= */ 2, "UNFOLDED")
+                    .setSystemProperties(Set.of(
+                            PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY))
+                    .setPhysicalProperties(Set.of(
+                            PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN))
+                    .build());
+    private static final DeviceState DEVICE_STATE_REAR_DISPLAY = new DeviceState(
+            new DeviceState.Configuration.Builder(/* identifier= */ 3, "REAR_DISPLAY")
+                    .setSystemProperties(Set.of(
+                            PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY,
+                            PROPERTY_FEATURE_REAR_DISPLAY, PROPERTY_EMULATED_ONLY))
+                    .setPhysicalProperties(Set.of(
+                            PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED))
+                    .build());
 
     private final DeviceStateAutoRotateDetailsFragment mFragment =
             spy(new DeviceStateAutoRotateDetailsFragment());
     private final Context mContext = spy(RuntimeEnvironment.application);
     private final Resources mResources = spy(mContext.getResources());
+    @Mock
+    private DeviceStateManager mDeviceStateManager;
 
     @Before
     public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
         when(mContext.getResources()).thenReturn(mResources);
         when(mContext.getApplicationContext()).thenReturn(mContext);
         when(mFragment.getContext()).thenReturn(mContext);
         when(mFragment.getResources()).thenReturn(mResources);
+        doReturn(mDeviceStateManager).when(mContext).getSystemService(DeviceStateManager.class);
         setUpPostureMappings();
     }
 
@@ -75,8 +117,10 @@
     @Test
     public void createPreferenceControllers_settableDeviceStates_returnsDeviceStateControllers() {
         enableDeviceStateSettableRotationStates(
-                new String[]{FOLDED_STATE + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED,
-                        UNFOLDED_STATE + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED},
+                new String[]{DEVICE_STATE_FOLDED.getIdentifier() + ":"
+                        + DEVICE_STATE_ROTATION_LOCK_LOCKED,
+                        DEVICE_STATE_UNFOLDED.getIdentifier() + ":"
+                                + DEVICE_STATE_ROTATION_LOCK_LOCKED},
                 new String[]{"Folded", "Unfolded"});
 
         List<AbstractPreferenceController> preferenceControllers =
@@ -112,18 +156,22 @@
                 .resetStateForTesting(mResources);
     }
 
+    // Sets up posture mappings for PosturesHelper
     private void setUpPostureMappings() {
         when(mResources.getIntArray(
                 com.android.internal.R.array.config_foldedDeviceStates)).thenReturn(
-                new int[]{FOLDED_STATE});
+                    new int[]{DEVICE_STATE_FOLDED.getIdentifier()});
         when(mResources.getIntArray(
                 com.android.internal.R.array.config_halfFoldedDeviceStates)).thenReturn(
-                new int[]{HALF_FOLDED_STATE});
+                    new int[]{DEVICE_STATE_HALF_FOLDED.getIdentifier()});
         when(mResources.getIntArray(
                 com.android.internal.R.array.config_openDeviceStates)).thenReturn(
-                new int[]{UNFOLDED_STATE});
+                    new int[]{DEVICE_STATE_UNFOLDED.getIdentifier()});
         when(mResources.getIntArray(
                 com.android.internal.R.array.config_rearDisplayDeviceStates)).thenReturn(
-                new int[]{REAR_DISPLAY_STATE});
+                    new int[]{DEVICE_STATE_REAR_DISPLAY.getIdentifier()});
+        when(mDeviceStateManager.getSupportedDeviceStates()).thenReturn(
+                List.of(DEVICE_STATE_FOLDED, DEVICE_STATE_HALF_FOLDED, DEVICE_STATE_UNFOLDED,
+                        DEVICE_STATE_REAR_DISPLAY));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/display/DeviceStateAutoRotateSettingControllerTest.java b/tests/robotests/src/com/android/settings/display/DeviceStateAutoRotateSettingControllerTest.java
index d364a3b..cb1be85 100644
--- a/tests/robotests/src/com/android/settings/display/DeviceStateAutoRotateSettingControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/DeviceStateAutoRotateSettingControllerTest.java
@@ -21,10 +21,13 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.verify;
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.hardware.devicestate.DeviceState;
+import android.hardware.devicestate.DeviceStateManager;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
@@ -41,6 +44,7 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
+import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
@@ -56,15 +60,16 @@
 })
 public class DeviceStateAutoRotateSettingControllerTest {
 
-    private static final int DEFAULT_DEVICE_STATE = 1;
+    private static final DeviceState DEFAULT_DEVICE_STATE = new DeviceState(
+            new DeviceState.Configuration.Builder(/* identifier= */ 1, "DEFAULT").build());
     private static final String DEFAULT_DEVICE_STATE_DESCRIPTION = "Device state description";
     private static final int DEFAULT_ORDER = -10;
 
-    private final Context mContext = RuntimeEnvironment.application;
-    private final DeviceStateRotationLockSettingsManager mAutoRotateSettingsManager =
-            DeviceStateRotationLockSettingsManager.getInstance(mContext);
+    private final Context mContext = Mockito.spy(RuntimeEnvironment.application);
+    private DeviceStateRotationLockSettingsManager mAutoRotateSettingsManager;
 
     @Mock private MetricsFeatureProvider mMetricsFeatureProvider;
+    @Mock private DeviceStateManager mDeviceStateManager;
 
     private DeviceStateAutoRotateSettingController mController;
 
@@ -72,9 +77,15 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
+        doReturn(mContext).when(mContext).getApplicationContext();
+        doReturn(mDeviceStateManager).when(mContext).getSystemService(DeviceStateManager.class);
+        doReturn(List.of(DEFAULT_DEVICE_STATE)).when(
+                mDeviceStateManager).getSupportedDeviceStates();
+        mAutoRotateSettingsManager =
+                DeviceStateRotationLockSettingsManager.getInstance(mContext);
         mController = new DeviceStateAutoRotateSettingController(
                 mContext,
-                DEFAULT_DEVICE_STATE,
+                DEFAULT_DEVICE_STATE.getIdentifier(),
                 DEFAULT_DEVICE_STATE_DESCRIPTION,
                 DEFAULT_ORDER,
                 mMetricsFeatureProvider
@@ -128,20 +139,22 @@
     public void getPreferenceKey_returnsKeyBasedOnDeviceState() {
         String key = mController.getPreferenceKey();
 
-        String expectedKey = "auto_rotate_device_state_" + DEFAULT_DEVICE_STATE;
+        String expectedKey = "auto_rotate_device_state_" + DEFAULT_DEVICE_STATE.getIdentifier();
         assertThat(key).isEqualTo(expectedKey);
     }
 
     @Test
     public void isChecked_settingForStateIsUnlocked_returnsTrue() {
-        mAutoRotateSettingsManager.updateSetting(DEFAULT_DEVICE_STATE, /* rotationLocked= */ false);
+        mAutoRotateSettingsManager.updateSetting(
+                DEFAULT_DEVICE_STATE.getIdentifier(), /* rotationLocked= */ false);
 
         assertThat(mController.isChecked()).isTrue();
     }
 
     @Test
     public void isChecked_settingForStateIsLocked_returnsFalse() {
-        mAutoRotateSettingsManager.updateSetting(DEFAULT_DEVICE_STATE, /* rotationLocked= */ true);
+        mAutoRotateSettingsManager.updateSetting(
+                DEFAULT_DEVICE_STATE.getIdentifier(), /* rotationLocked= */ true);
 
         assertThat(mController.isChecked()).isFalse();
     }
@@ -150,7 +163,8 @@
     public void setChecked_true_deviceStateSettingIsUnlocked() {
         mController.setChecked(true);
 
-        boolean rotationLocked = mAutoRotateSettingsManager.isRotationLocked(DEFAULT_DEVICE_STATE);
+        boolean rotationLocked = mAutoRotateSettingsManager.isRotationLocked(
+                DEFAULT_DEVICE_STATE.getIdentifier());
 
         assertThat(rotationLocked).isFalse();
     }
@@ -159,7 +173,8 @@
     public void setChecked_false_deviceStateSettingIsLocked() {
         mController.setChecked(false);
 
-        boolean rotationLocked = mAutoRotateSettingsManager.isRotationLocked(DEFAULT_DEVICE_STATE);
+        boolean rotationLocked = mAutoRotateSettingsManager.isRotationLocked(
+                DEFAULT_DEVICE_STATE.getIdentifier());
 
         assertThat(rotationLocked).isTrue();
     }
@@ -169,7 +184,8 @@
         mController.setChecked(true);
 
         verify(mMetricsFeatureProvider).action(mContext,
-                SettingsEnums.ACTION_ENABLE_AUTO_ROTATION_DEVICE_STATE, DEFAULT_DEVICE_STATE);
+                SettingsEnums.ACTION_ENABLE_AUTO_ROTATION_DEVICE_STATE,
+                DEFAULT_DEVICE_STATE.getIdentifier());
     }
 
     @Test
@@ -177,7 +193,8 @@
         mController.setChecked(false);
 
         verify(mMetricsFeatureProvider).action(mContext,
-                SettingsEnums.ACTION_DISABLE_AUTO_ROTATION_DEVICE_STATE, DEFAULT_DEVICE_STATE);
+                SettingsEnums.ACTION_DISABLE_AUTO_ROTATION_DEVICE_STATE,
+                DEFAULT_DEVICE_STATE.getIdentifier());
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/display/DisplayScreenTest.kt b/tests/robotests/src/com/android/settings/display/DisplayScreenTest.kt
index 6a7c238..342aa54 100644
--- a/tests/robotests/src/com/android/settings/display/DisplayScreenTest.kt
+++ b/tests/robotests/src/com/android/settings/display/DisplayScreenTest.kt
@@ -21,9 +21,9 @@
 import com.android.internal.widget.LockPatternUtils
 import com.android.settings.flags.Flags
 import com.android.settings.testutils.FakeFeatureFactory
+import com.android.settings.testutils.SystemProperty
 import com.android.settingslib.preference.CatalystScreenTestCase
 import com.google.common.truth.Truth.assertThat
-import org.junit.Ignore
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.ArgumentMatchers.anyInt
@@ -42,8 +42,8 @@
 
     private val mockResources = mock<Resources>()
 
-    private val contextWrapper =
-        object : ContextWrapper(context) {
+    private val context =
+        object : ContextWrapper(appContext) {
             override fun getResources(): Resources = mockResources
         }
 
@@ -56,26 +56,26 @@
     fun isAvailable_configTrue_shouldReturnTrue() {
         mockResources.stub { on { getBoolean(anyInt()) } doReturn true }
 
-        assertThat(preferenceScreenCreator.isAvailable(contextWrapper)).isTrue()
+        assertThat(preferenceScreenCreator.isAvailable(context)).isTrue()
     }
 
     @Test
     fun isAvailable_configFalse_shouldReturnFalse() {
         mockResources.stub { on { getBoolean(anyInt()) } doReturn false }
 
-        assertThat(preferenceScreenCreator.isAvailable(contextWrapper)).isFalse()
+        assertThat(preferenceScreenCreator.isAvailable(context)).isFalse()
     }
 
-    @Ignore("robolectric.createActivityContexts cause other test failure")
     override fun migration() {
         // avoid UnsupportedOperationException when getDisplay from context
-        System.setProperty("robolectric.createActivityContexts", "true")
+        SystemProperty("robolectric.createActivityContexts", "true").use {
+            val lockPatternUtils =
+                mock<LockPatternUtils> { on { isSecure(anyInt()) } doReturn true }
+            FakeFeatureFactory.setupForTest().securityFeatureProvider.stub {
+                on { getLockPatternUtils(any()) } doReturn lockPatternUtils
+            }
 
-        val lockPatternUtils = mock<LockPatternUtils> { on { isSecure(anyInt()) } doReturn true }
-        FakeFeatureFactory.setupForTest().securityFeatureProvider.stub {
-            on { getLockPatternUtils(any()) } doReturn lockPatternUtils
+            super.migration()
         }
-
-        super.migration()
     }
 }
diff --git a/tests/robotests/src/com/android/settings/display/SmartAutoRotateControllerTest.java b/tests/robotests/src/com/android/settings/display/SmartAutoRotateControllerTest.java
index 63395d1..e2542b0 100644
--- a/tests/robotests/src/com/android/settings/display/SmartAutoRotateControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/SmartAutoRotateControllerTest.java
@@ -33,6 +33,8 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
+import android.hardware.devicestate.DeviceState;
+import android.hardware.devicestate.DeviceStateManager;
 import android.os.UserHandle;
 import android.provider.Settings;
 
@@ -56,6 +58,8 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 
+import java.util.List;
+
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowSensorPrivacyManager.class, ShadowSystemSettings.class})
 public class SmartAutoRotateControllerTest {
@@ -67,21 +71,30 @@
     private PackageManager mPackageManager;
     @Mock
     private Preference mPreference;
+    @Mock
+    private DeviceStateManager mDeviceStateManager;
     private ContentResolver mContentResolver;
-    private final DeviceStateRotationLockSettingsManager mDeviceStateAutoRotateSettingsManager =
-            DeviceStateRotationLockSettingsManager.getInstance(RuntimeEnvironment.application);
+    private DeviceStateRotationLockSettingsManager mDeviceStateAutoRotateSettingsManager;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         final Context context = Mockito.spy(RuntimeEnvironment.application);
         mContentResolver = RuntimeEnvironment.application.getContentResolver();
+
         when(context.getPackageManager()).thenReturn(mPackageManager);
         when(context.getContentResolver()).thenReturn(mContentResolver);
         doReturn(PACKAGE_NAME).when(mPackageManager).getRotationResolverPackageName();
         doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission(
                 Manifest.permission.CAMERA, PACKAGE_NAME);
+        // Necessary for the DeviceStateRotationLockSettingsManager setup
+        doReturn(context).when(context).getApplicationContext();
+        doReturn(mDeviceStateManager).when(context).getSystemService(DeviceStateManager.class);
+        doReturn(getDeviceStateList()).when(mDeviceStateManager).getSupportedDeviceStates();
+        mDeviceStateAutoRotateSettingsManager = DeviceStateRotationLockSettingsManager.getInstance(
+                context);
         mController = Mockito.spy(new SmartAutoRotateController(context, "test_key"));
+
         when(mController.isCameraLocked()).thenReturn(false);
         when(mController.isPowerSaveMode()).thenReturn(false);
         doReturn(mController.getPreferenceKey()).when(mPreference).getKey();
@@ -183,4 +196,13 @@
                 Shadow.extract(mDeviceStateAutoRotateSettingsManager);
         shadowManager.setRotationLockedForAllStates(false);
     }
+
+    /**
+     * Returns a list that includes a singular default {@link DeviceState}. To be returned when
+     * {@link DeviceStateManager#getSupportedDeviceStates()} is called.
+     */
+    private List<DeviceState> getDeviceStateList() {
+        return List.of(new DeviceState(
+                new DeviceState.Configuration.Builder(0 /* identifier */, "DEFAULT").build()));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java
index 3fa4582..1615538 100644
--- a/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java
@@ -16,6 +16,13 @@
 
 package com.android.settings.display;
 
+import static android.hardware.devicestate.DeviceState.PROPERTY_EMULATED_ONLY;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FEATURE_REAR_DISPLAY;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN;
+import static android.hardware.devicestate.DeviceState.PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN;
 import static android.provider.Settings.Secure.DEVICE_STATE_ROTATION_LOCK_LOCKED;
 
 import static com.android.settings.display.SmartAutoRotatePreferenceFragment.AUTO_ROTATE_MAIN_SWITCH_PREFERENCE_KEY;
@@ -39,6 +46,8 @@
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
 import android.content.res.Resources;
+import android.hardware.devicestate.DeviceState;
+import android.hardware.devicestate.DeviceStateManager;
 import android.view.View;
 
 import androidx.preference.Preference;
@@ -61,6 +70,7 @@
 import org.robolectric.annotation.Config;
 
 import java.util.List;
+import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
@@ -70,10 +80,35 @@
 })
 public class SmartAutoRotatePreferenceFragmentTest {
 
-    private static final int STATE_FOLDED = 0;
-    private static final int STATE_HALF_FOLDED = 1;
-    private static final int STATE_UNFOLDED = 2;
-    private static final int STATE_REAR_DISPLAY = 3;
+    private static final DeviceState DEVICE_STATE_FOLDED = new DeviceState(
+            new DeviceState.Configuration.Builder(/* identifier= */ 0, "FOLDED")
+                    .setSystemProperties(Set.of(
+                            PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY))
+                    .setPhysicalProperties(Set.of(
+                            PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED))
+                    .build());
+    private static final DeviceState DEVICE_STATE_HALF_FOLDED = new DeviceState(
+            new DeviceState.Configuration.Builder(/* identifier= */ 1, "HALF_FOLDED")
+                    .setSystemProperties(Set.of(
+                            PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY))
+                    .setPhysicalProperties(Set.of(
+                            PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_HALF_OPEN))
+                    .build());
+    private static final DeviceState DEVICE_STATE_UNFOLDED = new DeviceState(
+            new DeviceState.Configuration.Builder(/* identifier= */ 2, "UNFOLDED")
+                    .setSystemProperties(Set.of(
+                            PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_INNER_PRIMARY))
+                    .setPhysicalProperties(Set.of(
+                            PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_OPEN))
+                    .build());
+    private static final DeviceState DEVICE_STATE_REAR_DISPLAY = new DeviceState(
+            new DeviceState.Configuration.Builder(/* identifier= */ 3, "REAR_DISPLAY")
+                    .setSystemProperties(Set.of(
+                            PROPERTY_FOLDABLE_DISPLAY_CONFIGURATION_OUTER_PRIMARY,
+                            PROPERTY_FEATURE_REAR_DISPLAY, PROPERTY_EMULATED_ONLY))
+                    .setPhysicalProperties(Set.of(
+                            PROPERTY_FOLDABLE_HARDWARE_CONFIGURATION_FOLD_IN_CLOSED))
+                    .build());
 
     private static final String PACKAGE_NAME = "package_name";
 
@@ -96,6 +131,9 @@
     @Mock
     private Preference mRotateMainSwitchPreference;
 
+    @Mock
+    private DeviceStateManager mDeviceStateManager;
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -105,6 +143,7 @@
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mContext.getContentResolver()).thenReturn(mContentResolver);
         when(mContext.getApplicationContext()).thenReturn(mContext);
+        doReturn(mDeviceStateManager).when(mContext).getSystemService(DeviceStateManager.class);
         doReturn(PACKAGE_NAME).when(mPackageManager).getRotationResolverPackageName();
         doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission(
                 Manifest.permission.CAMERA, PACKAGE_NAME);
@@ -130,14 +169,7 @@
         when(mFragment.findPreference(AUTO_ROTATE_MAIN_SWITCH_PREFERENCE_KEY))
                 .thenReturn(mRotateMainSwitchPreference);
 
-        when(mResources.getIntArray(com.android.internal.R.array.config_foldedDeviceStates))
-                .thenReturn(new int[] {STATE_FOLDED});
-        when(mResources.getIntArray(com.android.internal.R.array.config_halfFoldedDeviceStates))
-                .thenReturn(new int[] {STATE_HALF_FOLDED});
-        when(mResources.getIntArray(com.android.internal.R.array.config_openDeviceStates))
-                .thenReturn(new int[] {STATE_UNFOLDED});
-        when(mResources.getIntArray(com.android.internal.R.array.config_rearDisplayDeviceStates))
-                .thenReturn(new int[] {STATE_REAR_DISPLAY});
+        setUpPostureMappings();
     }
 
     @Test
@@ -195,8 +227,8 @@
     public void createPreferenceControllers_settableDeviceStates_returnsDeviceStateControllers() {
         enableDeviceStateSettableRotationStates(
                 new String[] {
-                    STATE_FOLDED + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED,
-                    STATE_UNFOLDED + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED
+                    DEVICE_STATE_FOLDED.getIdentifier() + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED,
+                    DEVICE_STATE_UNFOLDED.getIdentifier() + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED
                 },
                 new String[] {"Folded", "Unfolded"});
 
@@ -236,4 +268,23 @@
         DeviceStateRotationLockSettingsManager.getInstance(mContext)
                 .resetStateForTesting(mResources);
     }
+
+    // Sets up posture mappings for PosturesHelper
+    private void setUpPostureMappings() {
+        when(mResources.getIntArray(
+                com.android.internal.R.array.config_foldedDeviceStates)).thenReturn(
+                    new int[]{DEVICE_STATE_FOLDED.getIdentifier()});
+        when(mResources.getIntArray(
+                com.android.internal.R.array.config_halfFoldedDeviceStates)).thenReturn(
+                    new int[]{DEVICE_STATE_HALF_FOLDED.getIdentifier()});
+        when(mResources.getIntArray(
+                com.android.internal.R.array.config_openDeviceStates)).thenReturn(
+                    new int[]{DEVICE_STATE_UNFOLDED.getIdentifier()});
+        when(mResources.getIntArray(
+                com.android.internal.R.array.config_rearDisplayDeviceStates)).thenReturn(
+                    new int[]{DEVICE_STATE_REAR_DISPLAY.getIdentifier()});
+        when(mDeviceStateManager.getSupportedDeviceStates()).thenReturn(
+                List.of(DEVICE_STATE_FOLDED, DEVICE_STATE_HALF_FOLDED, DEVICE_STATE_UNFOLDED,
+                        DEVICE_STATE_REAR_DISPLAY));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index 1bc00a1..f3848b3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -17,10 +17,10 @@
 package com.android.settings.fuelgauge;
 
 import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
-import static com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.nullable;
@@ -49,13 +49,13 @@
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
+import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
 import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry;
 import com.android.settings.fuelgauge.batteryusage.BatteryEntry;
 import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
 import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
@@ -87,12 +87,12 @@
         })
 public class AdvancedPowerUsageDetailTest {
 
-    @Rule
-    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private static final String APP_LABEL = "app label";
     private static final String SUMMARY = "summary";
-    private static final String[] PACKAGE_NAME = {"com.android.app"};
+    private static final String PACKAGE_NAME = "com.android.app";
+    private static final String INITIATING_PACKAGE_NAME = "com.android.vending";
     private static final String USAGE_PERCENT = "16%";
     private static final int ICON_ID = 123;
     private static final int UID = 1;
@@ -100,39 +100,43 @@
     private static final long FOREGROUND_SERVICE_TIME_MS = 123;
     private static final long BACKGROUND_TIME_MS = 100;
     private static final long SCREEN_ON_TIME_MS = 321;
-    private static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private FragmentActivity mActivity;
 
     @Mock private EntityHeaderController mEntityHeaderController;
-    @Mock private LayoutPreference mHeaderPreference;
     @Mock private ApplicationsState mState;
     @Mock private ApplicationsState.AppEntry mAppEntry;
     @Mock private BatteryEntry mBatteryEntry;
     @Mock private PackageManager mPackageManager;
     @Mock private InstallSourceInfo mInstallSourceInfo;
+    @Mock private LayoutPreference mLayoutPreference;
     @Mock private AppOpsManager mAppOpsManager;
     @Mock private LoaderManager mLoaderManager;
-    @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
 
+    private int mTestMode;
     private Context mContext;
-    private PrimarySwitchPreference mAllowBackgroundUsagePreference;
     private AdvancedPowerUsageDetail mFragment;
     private SettingsActivity mTestActivity;
     private FakeFeatureFactory mFeatureFactory;
     private MetricsFeatureProvider mMetricsFeatureProvider;
     private BatteryDiffEntry mBatteryDiffEntry;
     private Bundle mBundle;
+    private BatteryOptimizeUtils mBatteryOptimizeUtils;
 
     @Before
-    public void setUp() {
+    public void setUp() throws Exception {
         mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getPackageName()).thenReturn("foo");
+        when(mContext.getPackageName()).thenReturn(PACKAGE_NAME);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
 
+        prepareTestBatteryOptimizationUtils();
         mFragment = spy(new AdvancedPowerUsageDetail());
+        mFragment.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
+        doReturn(mLayoutPreference).when(mFragment).findPreference(any());
         mBundle = spy(new Bundle());
         doReturn(mContext).when(mFragment).getContext();
         doReturn(mActivity).when(mFragment).getActivity();
@@ -195,7 +199,6 @@
         when(mBatteryDiffEntry.getAppLabel()).thenReturn(APP_LABEL);
         when(mBatteryDiffEntry.getAppIconId()).thenReturn(ICON_ID);
 
-        mFragment.mHeaderPreference = mHeaderPreference;
         mFragment.mState = mState;
         mFragment.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
         mFragment.mLogStringBuilder = new StringBuilder();
@@ -219,10 +222,6 @@
                 .startActivityAsUser(captor.capture(), nullable(UserHandle.class));
         doAnswer(callable).when(mActivity).startActivity(captor.capture());
         doAnswer(callable).when(mContext).startActivity(captor.capture());
-
-        mAllowBackgroundUsagePreference = new PrimarySwitchPreference(mContext);
-        mAllowBackgroundUsagePreference.setKey(KEY_ALLOW_BACKGROUND_USAGE);
-        mFragment.mAllowBackgroundUsagePreference = mAllowBackgroundUsagePreference;
     }
 
     @After
@@ -320,17 +319,15 @@
                 .isEqualTo(SCREEN_ON_TIME_MS);
         assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
                 .isEqualTo(USAGE_PERCENT);
-        assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME))
-                .isEqualTo(null);
+        assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME)).isNull();
     }
 
-
     @Test
     public void startBatteryDetailPage_noBatteryUsage_hasBasicData() {
         final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
 
         AdvancedPowerUsageDetail.startBatteryDetailPage(
-                mActivity, mFragment, PACKAGE_NAME[0], UserHandle.OWNER);
+                mActivity, mFragment, PACKAGE_NAME, UserHandle.OWNER);
 
         verify(mActivity).startActivity(captor.capture());
 
@@ -338,7 +335,7 @@
                         captor.getValue()
                                 .getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
                                 .getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME))
-                .isEqualTo(PACKAGE_NAME[0]);
+                .isEqualTo(PACKAGE_NAME);
 
         assertThat(
                         captor.getValue()
@@ -351,62 +348,21 @@
     public void startBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName()
             throws PackageManager.NameNotFoundException {
         mBundle.clear();
-        doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME[0], 0 /* no flag */);
+        doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME, 0 /* no flag */);
 
         AdvancedPowerUsageDetail.startBatteryDetailPage(
-                mActivity, mFragment, PACKAGE_NAME[0], UserHandle.OWNER);
+                mActivity, mFragment, PACKAGE_NAME, UserHandle.OWNER);
 
         assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
     }
 
     @Test
-    public void initFooter_isValidPackageName_hasCorrectString() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
+    public void onPause_optimizationModeIsChanged_logPreference() throws Exception {
+        mFragment.mOptimizationMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(PACKAGE_NAME);
+        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn(INITIATING_PACKAGE_NAME);
 
-        mFragment.initFooter();
-
-        assertThat(mAllowBackgroundUsagePreference.getSummary().toString())
-                .isEqualTo("This app requires optimized battery usage.");
-    }
-
-    @Test
-    public void initFooter_isSystemOrDefaultApp_hasCorrectString() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-
-        mFragment.initFooter();
-
-        assertThat(mAllowBackgroundUsagePreference.getSummary().toString())
-                .isEqualTo("This app requires unrestricted battery usage.");
-    }
-
-    @Test
-    public void initFooter_hasCorrectString() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
-
-        mFragment.initFooter();
-
-        assertThat(mAllowBackgroundUsagePreference.getSummary().toString())
-                .isEqualTo("Enable for real-time updates, disable to save battery");
-    }
-
-    @Test
-    public void onPause_optimizationModeChanged_logPreference()
-            throws PackageManager.NameNotFoundException, InterruptedException {
-        final String packageName = "testPackageName";
-        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
-        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
-        mFragment.mOptimizationMode = restrictedMode;
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(restrictedMode);
-        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(packageName);
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-        when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
-        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
-
-        mFragment.onPreferenceChange(mAllowBackgroundUsagePreference, true);
-        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(optimizedMode);
+        mBatteryOptimizeUtils.setAppUsageState(BatteryOptimizeUtils.MODE_OPTIMIZED, Action.APPLY);
         mFragment.onPause();
 
         TimeUnit.SECONDS.sleep(1);
@@ -415,27 +371,18 @@
                         SettingsEnums.LEAVE_APP_BATTERY_USAGE,
                         SettingsEnums.ACTION_APP_BATTERY_USAGE_ALLOW_BACKGROUND,
                         SettingsEnums.FUELGAUGE_POWER_USAGE_DETAIL,
-                        packageName,
+                        PACKAGE_NAME,
                         /* consumed battery */ 0);
     }
 
     @Test
-    public void onPause_optimizationModeIsNotChanged_notInvokeLogging()
-            throws PackageManager.NameNotFoundException, InterruptedException {
-        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
-        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
-        mFragment.mOptimizationMode = restrictedMode;
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(restrictedMode);
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-        when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
-        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
+    public void onPause_optimizationModeIsNotChanged_notInvokeLogging() throws Exception {
+        mFragment.mOptimizationMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(PACKAGE_NAME);
+        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn(INITIATING_PACKAGE_NAME);
 
-        mFragment.onPreferenceChange(mAllowBackgroundUsagePreference, true);
-        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(optimizedMode);
-        mFragment.onPreferenceChange(mAllowBackgroundUsagePreference, false);
-        verify(mBatteryOptimizeUtils).setAppUsageState(restrictedMode, Action.APPLY);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(restrictedMode);
+        mBatteryOptimizeUtils.setAppUsageState(BatteryOptimizeUtils.MODE_OPTIMIZED, Action.APPLY);
+        mBatteryOptimizeUtils.setAppUsageState(BatteryOptimizeUtils.MODE_RESTRICTED, Action.APPLY);
         mFragment.onPause();
 
         TimeUnit.SECONDS.sleep(1);
@@ -446,4 +393,16 @@
     public void shouldSkipForInitialSUW_returnTrue() {
         assertThat(mFragment.shouldSkipForInitialSUW()).isTrue();
     }
+
+    private void prepareTestBatteryOptimizationUtils() {
+        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(mContext, UID, PACKAGE_NAME));
+        Answer<Void> setTestMode =
+                invocation -> {
+                    mTestMode = invocation.getArgument(0);
+                    return null;
+                };
+        doAnswer(setTestMode).when(mBatteryOptimizeUtils).setAppUsageState(anyInt(), any());
+        Answer<Integer> getTestMode = invocation -> mTestMode;
+        doAnswer(getTestMode).when(mBatteryOptimizeUtils).getAppOptimizationMode();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java
deleted file mode 100644
index 261a315..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (C) 2023 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.fuelgauge;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-
-import com.android.settingslib.widget.MainSwitchPreference;
-
-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 AllowBackgroundPreferenceControllerTest {
-    private static final int UID = 12345;
-    private static final String PACKAGE_NAME = "com.android.app";
-
-    private AllowBackgroundPreferenceController mController;
-    private MainSwitchPreference mMainSwitchPreference;
-    private BatteryOptimizeUtils mBatteryOptimizeUtils;
-
-    @Mock private PackageManager mMockPackageManager;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-
-        Context context = spy(RuntimeEnvironment.application);
-        BatteryUtils.getInstance(context).reset();
-        doReturn(UID)
-                .when(mMockPackageManager)
-                .getPackageUid(PACKAGE_NAME, PackageManager.GET_META_DATA);
-
-        mController = new AllowBackgroundPreferenceController(context, UID, PACKAGE_NAME);
-        mMainSwitchPreference = new MainSwitchPreference(RuntimeEnvironment.application);
-        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(context, UID, PACKAGE_NAME));
-        mController.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
-    }
-
-    @Test
-    public void testUpdateState_isValidPackage_prefEnabled() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
-
-        mController.updateState(mMainSwitchPreference);
-
-        assertThat(mBatteryOptimizeUtils.isOptimizeModeMutable()).isTrue();
-        assertThat(mMainSwitchPreference.isEnabled()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_invalidPackage_prefDisabled() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
-
-        mController.updateState(mMainSwitchPreference);
-
-        assertThat(mBatteryOptimizeUtils.isOptimizeModeMutable()).isFalse();
-        assertThat(mMainSwitchPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_isSystemOrDefaultAppAndRestrictedStates_prefChecked() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_RESTRICTED);
-
-        mController.updateState(mMainSwitchPreference);
-
-        assertThat(mMainSwitchPreference.isEnabled()).isFalse();
-        assertThat(mMainSwitchPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_isSystemOrDefaultApp_prefUnchecked() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
-
-        mController.updateState(mMainSwitchPreference);
-
-        assertThat(mMainSwitchPreference.isEnabled()).isFalse();
-        assertThat(mMainSwitchPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_isRestrictedStates_prefChecked() {
-        when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_RESTRICTED);
-
-        mController.updateState(mMainSwitchPreference);
-
-        assertThat(mMainSwitchPreference.isEnabled()).isTrue();
-        assertThat(mMainSwitchPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_prefUnchecked() {
-        when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
-
-        mController.updateState(mMainSwitchPreference);
-
-        assertThat(mMainSwitchPreference.isEnabled()).isTrue();
-        assertThat(mMainSwitchPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testHandlePreferenceTreeClick_samePrefKey_verifyAction() {
-        mMainSwitchPreference.setKey(
-                AllowBackgroundPreferenceController.KEY_ALLOW_BACKGROUND_USAGE);
-        mController.handlePreferenceTreeClick(mMainSwitchPreference);
-
-        assertThat(mController.handlePreferenceTreeClick(mMainSwitchPreference)).isTrue();
-    }
-
-    @Test
-    public void testHandlePreferenceTreeClick_incorrectPrefKey_noAction() {
-        assertThat(mController.handlePreferenceTreeClick(mMainSwitchPreference)).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BackgroundUsageAllowabilityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BackgroundUsageAllowabilityPreferenceControllerTest.java
new file mode 100644
index 0000000..190446e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BackgroundUsageAllowabilityPreferenceControllerTest.java
@@ -0,0 +1,202 @@
+/*
+ * Copyright (C) 2024 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.fuelgauge;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
+import com.android.settingslib.PrimarySwitchPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class BackgroundUsageAllowabilityPreferenceControllerTest {
+    private static final int UID = 12345;
+    private static final String PACKAGE_NAME = "com.android.app";
+
+    private int mTestMode;
+    private Context mContext;
+    private BackgroundUsageAllowabilityPreferenceController mBackgroundUsageController;
+    private BatteryOptimizeUtils mBatteryOptimizeUtils;
+
+    @Mock DashboardFragment mDashboardFragment;
+    @Mock PrimarySwitchPreference mBackgroundUsageAllowabilityPreference;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        prepareTestBatteryOptimizationUtils();
+        mBackgroundUsageController =
+                spy(
+                        new BackgroundUsageAllowabilityPreferenceController(
+                                mContext,
+                                mDashboardFragment,
+                                /* preferenceKey= */ "test",
+                                mBatteryOptimizeUtils));
+        mBackgroundUsageController.mBackgroundUsageAllowabilityPreference =
+                mBackgroundUsageAllowabilityPreference;
+    }
+
+    @Test
+    public void initPreferences_immutableOptimized_setExpectedContent() {
+        doReturn(false).when(mBatteryOptimizeUtils).isOptimizeModeMutable();
+        doReturn(true).when(mBatteryOptimizeUtils).isDisabledForOptimizeModeOnly();
+
+        mBackgroundUsageController.initPreferences();
+
+        verify(mBackgroundUsageAllowabilityPreference).setEnabled(false);
+        verify(mBackgroundUsageAllowabilityPreference).setSwitchEnabled(false);
+        verify(mBackgroundUsageAllowabilityPreference)
+                .setSummary(
+                        mContext.getString(
+                                R.string.manager_battery_usage_footer_limited,
+                                mContext.getString(R.string.manager_battery_usage_optimized_only)));
+        verify(mBackgroundUsageAllowabilityPreference, never())
+                .setOnPreferenceChangeListener(any());
+        verify(mBackgroundUsageAllowabilityPreference, never()).setOnPreferenceClickListener(any());
+    }
+
+    @Test
+    public void initPreferences_immutableUnrestricted_setExpectedContent() {
+        doReturn(false).when(mBatteryOptimizeUtils).isOptimizeModeMutable();
+        doReturn(false).when(mBatteryOptimizeUtils).isDisabledForOptimizeModeOnly();
+        doReturn(true).when(mBatteryOptimizeUtils).isSystemOrDefaultApp();
+
+        mBackgroundUsageController.initPreferences();
+
+        verify(mBackgroundUsageAllowabilityPreference).setEnabled(false);
+        verify(mBackgroundUsageAllowabilityPreference).setSwitchEnabled(false);
+        verify(mBackgroundUsageAllowabilityPreference)
+                .setSummary(
+                        mContext.getString(
+                                R.string.manager_battery_usage_footer_limited,
+                                mContext.getString(
+                                        R.string.manager_battery_usage_unrestricted_only)));
+        verify(mBackgroundUsageAllowabilityPreference, never())
+                .setOnPreferenceChangeListener(any());
+        verify(mBackgroundUsageAllowabilityPreference, never()).setOnPreferenceClickListener(any());
+    }
+
+    @Test
+    public void initPreferences_mutableMode_setExpectedContent() {
+        doReturn(true).when(mBatteryOptimizeUtils).isOptimizeModeMutable();
+        doReturn(false).when(mBatteryOptimizeUtils).isDisabledForOptimizeModeOnly();
+        doReturn(false).when(mBatteryOptimizeUtils).isSystemOrDefaultApp();
+
+        mBackgroundUsageController.initPreferences();
+
+        verify(mBackgroundUsageAllowabilityPreference).setEnabled(true);
+        verify(mBackgroundUsageAllowabilityPreference).setSwitchEnabled(true);
+        verify(mBackgroundUsageAllowabilityPreference)
+                .setSummary(
+                        mContext.getString(
+                                R.string.manager_battery_usage_allow_background_usage_summary));
+        verify(mBackgroundUsageAllowabilityPreference).setOnPreferenceChangeListener(any());
+        verify(mBackgroundUsageAllowabilityPreference).setOnPreferenceClickListener(any());
+    }
+
+    @Test
+    public void updatePreferences_setIntoUnrestrictedMode_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_UNRESTRICTED;
+
+        mBackgroundUsageController.updatePreferences(mTestMode);
+
+        verifyPreferences(mTestMode);
+    }
+
+    @Test
+    public void updatePreferences_setIntoOptimizedMode_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+
+        mBackgroundUsageController.updatePreferences(mTestMode);
+
+        verifyPreferences(mTestMode);
+    }
+
+    @Test
+    public void updatePreferences_setIntoRestrictedMode_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+
+        mBackgroundUsageController.updatePreferences(mTestMode);
+
+        verifyPreferences(mTestMode);
+    }
+
+    @Test
+    public void handleBatteryOptimizeModeUpdated_modeChange_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+
+        mBackgroundUsageController.handleBatteryOptimizeModeUpdated(
+                BatteryOptimizeUtils.MODE_OPTIMIZED);
+
+        verify(mBatteryOptimizeUtils)
+                .setAppUsageState(BatteryOptimizeUtils.MODE_OPTIMIZED, Action.APPLY);
+        assertThat(mTestMode).isEqualTo(BatteryOptimizeUtils.MODE_OPTIMIZED);
+        verifyPreferences(mTestMode);
+    }
+
+    @Test
+    public void handleBatteryOptimizeModeUpdated_modeNotChange_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+
+        mBackgroundUsageController.handleBatteryOptimizeModeUpdated(
+                BatteryOptimizeUtils.MODE_RESTRICTED);
+
+        verify(mBatteryOptimizeUtils, never()).setAppUsageState(anyInt(), any());
+        assertThat(mTestMode).isEqualTo(BatteryOptimizeUtils.MODE_RESTRICTED);
+        verify(mBackgroundUsageController, never()).updatePreferences(mTestMode);
+    }
+
+    private void prepareTestBatteryOptimizationUtils() {
+        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(mContext, UID, PACKAGE_NAME));
+        Answer<Void> setTestMode =
+                invocation -> {
+                    mTestMode = invocation.getArgument(0);
+                    return null;
+                };
+        doAnswer(setTestMode).when(mBatteryOptimizeUtils).setAppUsageState(anyInt(), any());
+        Answer<Integer> getTestMode = invocation -> mTestMode;
+        doAnswer(getTestMode).when(mBatteryOptimizeUtils).getAppOptimizationMode();
+    }
+
+    private void verifyPreferences(int mode) {
+        boolean isAllowBackground = mode != BatteryOptimizeUtils.MODE_RESTRICTED;
+        verify(mBackgroundUsageAllowabilityPreference).setChecked(isAllowBackground);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizationModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizationModePreferenceControllerTest.java
new file mode 100644
index 0000000..2ddc7eb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizationModePreferenceControllerTest.java
@@ -0,0 +1,179 @@
+/*
+ * Copyright (C) 2024 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.fuelgauge;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settingslib.widget.MainSwitchPreference;
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class BatteryOptimizationModePreferenceControllerTest {
+    private static final int UID = 12345;
+    private static final String PACKAGE_NAME = "com.android.app";
+
+    private int mTestMode;
+    private Context mContext;
+    private BatteryOptimizationModePreferenceController mBackgroundUsageController;
+    private BatteryOptimizeUtils mBatteryOptimizeUtils;
+
+    @Mock MainSwitchPreference mBackgroundUsageAllowabilityPreference;
+    @Mock SelectorWithWidgetPreference mOptimizedPreference;
+    @Mock SelectorWithWidgetPreference mUnrestrictedPreference;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        prepareTestBatteryOptimizationUtils();
+        mBackgroundUsageController =
+                spy(
+                        new BatteryOptimizationModePreferenceController(
+                                mContext, "test", mBatteryOptimizeUtils));
+        mBackgroundUsageController.mBackgroundUsageAllowabilityPreference =
+                mBackgroundUsageAllowabilityPreference;
+        mBackgroundUsageController.mOptimizedPreference = mOptimizedPreference;
+        mBackgroundUsageController.mUnrestrictedPreference = mUnrestrictedPreference;
+    }
+
+    @Test
+    public void initPreferences_mutableMode_setEnabled() {
+        doReturn(true).when(mBatteryOptimizeUtils).isOptimizeModeMutable();
+
+        mBackgroundUsageController.initPreferences();
+
+        verify(mBackgroundUsageAllowabilityPreference).setEnabled(true);
+        verify(mOptimizedPreference).setEnabled(true);
+        verify(mUnrestrictedPreference).setEnabled(true);
+        verify(mBackgroundUsageAllowabilityPreference, never()).setOnPreferenceClickListener(any());
+        verify(mBackgroundUsageAllowabilityPreference).setOnPreferenceChangeListener(any());
+        verify(mOptimizedPreference).setOnPreferenceClickListener(any());
+        verify(mUnrestrictedPreference).setOnPreferenceClickListener(any());
+    }
+
+    @Test
+    public void initPreferences_immutableMode_setDisabledAndSkipSetListeners() {
+        doReturn(false).when(mBatteryOptimizeUtils).isOptimizeModeMutable();
+
+        mBackgroundUsageController.initPreferences();
+
+        verify(mBackgroundUsageAllowabilityPreference).setEnabled(false);
+        verify(mOptimizedPreference).setEnabled(false);
+        verify(mUnrestrictedPreference).setEnabled(false);
+        verify(mBackgroundUsageAllowabilityPreference, never()).setOnPreferenceClickListener(any());
+        verify(mBackgroundUsageAllowabilityPreference, never())
+                .setOnPreferenceChangeListener(any());
+        verify(mOptimizedPreference, never()).setOnPreferenceClickListener(any());
+        verify(mUnrestrictedPreference, never()).setOnPreferenceClickListener(any());
+    }
+
+    @Test
+    public void updatePreferences_setIntoUnrestrictedMode_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_UNRESTRICTED;
+
+        mBackgroundUsageController.updatePreferences(mTestMode);
+
+        verifyPreferences(mTestMode);
+    }
+
+    @Test
+    public void updatePreferences_setIntoOptimizedMode_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+
+        mBackgroundUsageController.updatePreferences(mTestMode);
+
+        verifyPreferences(mTestMode);
+    }
+
+    @Test
+    public void updatePreferences_setIntoRestrictedMode_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+
+        mBackgroundUsageController.updatePreferences(mTestMode);
+
+        verifyPreferences(mTestMode);
+    }
+
+    @Test
+    public void handleBatteryOptimizeModeUpdated_modeChange_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+
+        mBackgroundUsageController.handleBatteryOptimizeModeUpdated(
+                BatteryOptimizeUtils.MODE_OPTIMIZED);
+
+        verify(mBatteryOptimizeUtils)
+                .setAppUsageState(
+                        BatteryOptimizeUtils.MODE_OPTIMIZED,
+                        BatteryOptimizeHistoricalLogEntry.Action.APPLY);
+        assertThat(mTestMode).isEqualTo(BatteryOptimizeUtils.MODE_OPTIMIZED);
+        verifyPreferences(mBatteryOptimizeUtils.getAppOptimizationMode());
+    }
+
+    @Test
+    public void handleBatteryOptimizeModeUpdated_modeNotChange_setExpectedPrefStatus() {
+        mTestMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+
+        mBackgroundUsageController.handleBatteryOptimizeModeUpdated(
+                BatteryOptimizeUtils.MODE_RESTRICTED);
+
+        verify(mBatteryOptimizeUtils, never()).setAppUsageState(anyInt(), any());
+        assertThat(mTestMode).isEqualTo(BatteryOptimizeUtils.MODE_RESTRICTED);
+        verify(mBackgroundUsageController, never()).updatePreferences(anyInt());
+    }
+
+    private void prepareTestBatteryOptimizationUtils() {
+        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(mContext, UID, PACKAGE_NAME));
+        Answer<Void> setTestMode =
+                invocation -> {
+                    mTestMode = invocation.getArgument(0);
+                    return null;
+                };
+        doAnswer(setTestMode).when(mBatteryOptimizeUtils).setAppUsageState(anyInt(), any());
+        Answer<Integer> getTestMode = invocation -> mTestMode;
+        doAnswer(getTestMode).when(mBatteryOptimizeUtils).getAppOptimizationMode();
+    }
+
+    private void verifyPreferences(int mode) {
+        boolean isAllowBackground = mode != BatteryOptimizeUtils.MODE_RESTRICTED;
+        verify(mBackgroundUsageAllowabilityPreference).setChecked(isAllowBackground);
+        verify(mOptimizedPreference).setEnabled(isAllowBackground);
+        verify(mUnrestrictedPreference).setEnabled(isAllowBackground);
+        verify(mOptimizedPreference).setChecked(mode == BatteryOptimizeUtils.MODE_OPTIMIZED);
+        verify(mUnrestrictedPreference).setChecked(mode == BatteryOptimizeUtils.MODE_UNRESTRICTED);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
index 72b49e2..41e9dca 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
@@ -128,6 +128,15 @@
     }
 
     @Test
+    public void testGetAppOptimizationMode_unknownMode_returnOptimized() throws Exception {
+        when(mMockBackend.isAllowlisted(anyString(), anyInt())).thenReturn(true);
+        when(mMockAppOpsManager.checkOpNoThrow(anyInt(), anyInt(), anyString()))
+                .thenReturn(AppOpsManager.MODE_IGNORED);
+
+        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode()).isEqualTo(MODE_UNRESTRICTED);
+    }
+
+    @Test
     public void testIsSystemOrDefaultApp_isSystemOrDefaultApp_returnTrue() {
         when(mMockBackend.isAllowlisted(anyString(), anyInt())).thenReturn(true);
         when(mMockBackend.isDefaultActiveApp(anyString(), anyInt())).thenReturn(true);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
deleted file mode 100644
index 6656471..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
+++ /dev/null
@@ -1,130 +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.fuelgauge;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
-
-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 OptimizedPreferenceControllerTest {
-    private static final int UID = 12345;
-    private static final String PACKAGE_NAME = "com.android.app";
-
-    private OptimizedPreferenceController mController;
-    private SelectorWithWidgetPreference mPreference;
-    private BatteryOptimizeUtils mBatteryOptimizeUtils;
-
-    @Mock PackageManager mMockPackageManager;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-
-        Context context = spy(RuntimeEnvironment.application);
-        BatteryUtils.getInstance(context).reset();
-        doReturn(UID)
-                .when(mMockPackageManager)
-                .getPackageUid(PACKAGE_NAME, PackageManager.GET_META_DATA);
-
-        mController = new OptimizedPreferenceController(context, UID, PACKAGE_NAME);
-        mPreference = new SelectorWithWidgetPreference(RuntimeEnvironment.application);
-        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(context, UID, PACKAGE_NAME));
-        mController.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
-    }
-
-    @Test
-    public void testUpdateState_invalidPackage_prefEnabled() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isFalse();
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_isSystemOrDefaultAppAndOptimizeStates_prefChecked() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_isSystemOrDefaultApp_prefUnchecked() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isFalse();
-        assertThat(mPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_isOptimizedStates_prefChecked() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_prefUnchecked() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void testHandlePreferenceTreeClick_samePrefKey_verifyAction() {
-        mPreference.setKey(mController.KEY_OPTIMIZED_PREF);
-        mController.handlePreferenceTreeClick(mPreference);
-
-        assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue();
-    }
-
-    @Test
-    public void testHandlePreferenceTreeClick_incorrectPrefKey_noAction() {
-        assertThat(mController.handlePreferenceTreeClick(mPreference)).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java
index 9061117..9f98d78 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java
@@ -17,10 +17,10 @@
 package com.android.settings.fuelgauge;
 
 import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
-import static com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.nullable;
@@ -42,16 +42,17 @@
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.UserHandle;
-import android.widget.CompoundButton;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.loader.app.LoaderManager;
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.fuelgauge.batteryusage.BatteryEntry;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
+import com.android.settings.testutils.shadow.ShadowHelpUtils;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
@@ -59,8 +60,6 @@
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.FooterPreference;
 import com.android.settingslib.widget.LayoutPreference;
-import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import org.junit.After;
 import org.junit.Before;
@@ -83,36 +82,33 @@
 @Config(
         shadows = {
             ShadowEntityHeaderController.class,
+            ShadowHelpUtils.class,
             com.android.settings.testutils.shadow.ShadowFragment.class,
         })
 public class PowerBackgroundUsageDetailTest {
 
-    @Rule
-    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private static final String APP_LABEL = "app label";
     private static final String SUMMARY = "summary";
     private static final int ICON_ID = 123;
     private static final int UID = 1;
-    private static final String KEY_PREF_UNRESTRICTED = "unrestricted_preference";
-    private static final String KEY_PREF_OPTIMIZED = "optimized_preference";
-    private static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
+    private static final String PACKAGE_NAME = "com.android.app";
+    private static final String KEY_PREF_HEADER = "header_view";
+    private static final String KEY_FOOTER_PREFERENCE = "app_usage_footer_preference";
+    private static final String INITIATING_PACKAGE_NAME = "com.android.vending";
 
+    private int mTestMode;
     private Context mContext;
     private PowerBackgroundUsageDetail mFragment;
-    private FooterPreference mFooterPreference;
-    private MainSwitchPreference mMainSwitchPreference;
     private MetricsFeatureProvider mMetricsFeatureProvider;
-    private SelectorWithWidgetPreference mOptimizePreference;
-    private SelectorWithWidgetPreference mUnrestrictedPreference;
     private SettingsActivity mTestActivity;
+    private BatteryOptimizeUtils mBatteryOptimizeUtils;
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private FragmentActivity mActivity;
 
     @Mock private EntityHeaderController mEntityHeaderController;
-    @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
-    @Mock private LayoutPreference mHeaderPreference;
     @Mock private ApplicationsState mState;
     @Mock private Bundle mBundle;
     @Mock private LoaderManager mLoaderManager;
@@ -120,21 +116,26 @@
     @Mock private BatteryEntry mBatteryEntry;
     @Mock private PackageManager mPackageManager;
     @Mock private AppOpsManager mAppOpsManager;
-    @Mock private CompoundButton mMockSwitch;
     @Mock private InstallSourceInfo mInstallSourceInfo;
+    @Mock private LayoutPreference mLayoutPreference;
+    @Mock private FooterPreference mFooterPreference;
 
     @Before
     public void setUp() throws Exception {
         mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getPackageName()).thenReturn("foo");
+        when(mContext.getPackageName()).thenReturn(PACKAGE_NAME);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
 
         final FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = fakeFeatureFactory.metricsFeatureProvider;
 
+        prepareTestBatteryOptimizationUtils();
         mFragment = spy(new PowerBackgroundUsageDetail());
+        mFragment.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
         mFragment.mLogStringBuilder = new StringBuilder();
+        doReturn(mLayoutPreference).when(mFragment).findPreference(KEY_PREF_HEADER);
+        doReturn(mFooterPreference).when(mFragment).findPreference(KEY_FOOTER_PREFERENCE);
         doReturn(mContext).when(mFragment).getContext();
         doReturn(mActivity).when(mFragment).getActivity();
         doReturn(SUMMARY).when(mFragment).getString(anyInt());
@@ -169,9 +170,7 @@
         when(mBatteryEntry.getLabel()).thenReturn(APP_LABEL);
         mBatteryEntry.mIconId = ICON_ID;
 
-        mFragment.mHeaderPreference = mHeaderPreference;
         mFragment.mState = mState;
-        mFragment.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
         mAppEntry.info = mock(ApplicationInfo.class);
 
         mTestActivity = spy(new SettingsActivity());
@@ -191,23 +190,12 @@
                 .when(mActivity)
                 .startActivityAsUser(captor.capture(), nullable(UserHandle.class));
         doAnswer(callable).when(mActivity).startActivity(captor.capture());
-
-        mFooterPreference = spy(new FooterPreference(mContext));
-        mMainSwitchPreference = spy(new MainSwitchPreference(mContext));
-        mMainSwitchPreference.setKey(KEY_ALLOW_BACKGROUND_USAGE);
-        mOptimizePreference = spy(new SelectorWithWidgetPreference(mContext));
-        mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
-        mUnrestrictedPreference = spy(new SelectorWithWidgetPreference(mContext));
-        mUnrestrictedPreference.setKey(KEY_PREF_UNRESTRICTED);
-        mFragment.mFooterPreference = mFooterPreference;
-        mFragment.mMainSwitchPreference = mMainSwitchPreference;
-        mFragment.mOptimizePreference = mOptimizePreference;
-        mFragment.mUnrestrictedPreference = mUnrestrictedPreference;
     }
 
     @After
     public void reset() {
         ShadowEntityHeaderController.reset();
+        ShadowHelpUtils.reset();
     }
 
     @Test
@@ -258,91 +246,64 @@
     }
 
     @Test
-    public void initFooter_hasCorrectString() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
-
+    public void initFooter_setExpectedFooterContent() {
         mFragment.initFooter();
 
-        assertThat(mFooterPreference.getTitle().toString())
-                .isEqualTo("Changing how an app uses your battery can affect its performance.");
+        verify(mFooterPreference)
+                .setTitle(mContext.getString(R.string.manager_battery_usage_footer));
+        verify(mFooterPreference).setLearnMoreAction(any());
+        verify(mFooterPreference)
+                .setLearnMoreText(mContext.getString(R.string.manager_battery_usage_link_a11y));
     }
 
     @Test
-    public void onSwitchChanged_fromUnrestrictedModeSetDisabled_becomeRestrictedMode() {
-        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
-        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
-        mFragment.mOptimizationMode = optimizedMode;
+    public void onPause_optimizationModeIsChanged_logPreference() throws Exception {
+        mFragment.mOptimizationMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(PACKAGE_NAME);
+        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn(INITIATING_PACKAGE_NAME);
 
-        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ false);
-
-        verify(mOptimizePreference).setEnabled(false);
-        verify(mUnrestrictedPreference).setEnabled(false);
-        verify(mFragment).onRadioButtonClicked(null);
-        verify(mMainSwitchPreference).setChecked(false);
-        assertThat(mFragment.getSelectedPreference()).isEqualTo(restrictedMode);
-        verify(mBatteryOptimizeUtils).setAppUsageState(restrictedMode, Action.APPLY);
-    }
-
-    @Test
-    public void onSwitchChanged_fromRestrictedModeSetEnabled_becomeOptimizedMode() {
-        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
-        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
-        mFragment.mOptimizationMode = restrictedMode;
-
-        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ true);
-
-        verify(mOptimizePreference).setEnabled(true);
-        verify(mUnrestrictedPreference).setEnabled(true);
-        verify(mFragment).onRadioButtonClicked(mOptimizePreference);
-        verify(mMainSwitchPreference).setChecked(true);
-        verify(mOptimizePreference).setChecked(true);
-        assertThat(mFragment.getSelectedPreference()).isEqualTo(optimizedMode);
-        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
-    }
-
-    @Test
-    public void onPause_optimizationModeChanged_logPreference() throws Exception {
-        final String packageName = "testPackageName";
-        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
-        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
-        mFragment.mOptimizationMode = restrictedMode;
-        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(packageName);
-        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
-
-        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ true);
-        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(optimizedMode);
+        mTestMode = BatteryOptimizeUtils.MODE_UNRESTRICTED;
+        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .isEqualTo(BatteryOptimizeUtils.MODE_UNRESTRICTED);
         mFragment.onPause();
 
         TimeUnit.SECONDS.sleep(1);
         verify(mMetricsFeatureProvider)
                 .action(
                         SettingsEnums.LEAVE_POWER_USAGE_MANAGE_BACKGROUND,
-                        SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED,
+                        SettingsEnums.ACTION_APP_BATTERY_USAGE_UNRESTRICTED,
                         SettingsEnums.FUELGAUGE_POWER_USAGE_MANAGE_BACKGROUND,
-                        packageName,
+                        PACKAGE_NAME,
                         /* consumed battery */ 0);
     }
 
     @Test
     public void onPause_optimizationModeIsNotChanged_notInvokeLogging() throws Exception {
-        final String packageName = "testPackageName";
-        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
-        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
-        mFragment.mOptimizationMode = restrictedMode;
-        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(packageName);
-        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
+        mFragment.mOptimizationMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(PACKAGE_NAME);
+        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn(INITIATING_PACKAGE_NAME);
 
-        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ true);
-        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(optimizedMode);
-        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ false);
-        verify(mBatteryOptimizeUtils).setAppUsageState(restrictedMode, Action.APPLY);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(restrictedMode);
+        mTestMode = BatteryOptimizeUtils.MODE_UNRESTRICTED;
+        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .isEqualTo(BatteryOptimizeUtils.MODE_UNRESTRICTED);
+        mTestMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .isEqualTo(BatteryOptimizeUtils.MODE_OPTIMIZED);
         mFragment.onPause();
 
         TimeUnit.SECONDS.sleep(1);
         verifyNoInteractions(mMetricsFeatureProvider);
     }
+
+    private void prepareTestBatteryOptimizationUtils() {
+        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(mContext, UID, PACKAGE_NAME));
+        Answer<Void> setTestMode =
+                invocation -> {
+                    mTestMode = invocation.getArgument(0);
+                    return null;
+                };
+        doAnswer(setTestMode).when(mBatteryOptimizeUtils).setAppUsageState(anyInt(), any());
+        Answer<Integer> getTestMode = invocation -> mTestMode;
+        doAnswer(getTestMode).when(mBatteryOptimizeUtils).getAppOptimizationMode();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
deleted file mode 100644
index 0c6f7da..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
+++ /dev/null
@@ -1,148 +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.fuelgauge;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
-
-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 UnrestrictedPreferenceControllerTest {
-    private static final int UID = 12345;
-    private static final String PACKAGE_NAME = "com.android.app";
-
-    private UnrestrictedPreferenceController mController;
-    private SelectorWithWidgetPreference mPreference;
-    private BatteryOptimizeUtils mBatteryOptimizeUtils;
-
-    @Mock PackageManager mMockPackageManager;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-
-        Context context = spy(RuntimeEnvironment.application);
-        BatteryUtils.getInstance(context).reset();
-        doReturn(UID)
-                .when(mMockPackageManager)
-                .getPackageUid(PACKAGE_NAME, PackageManager.GET_META_DATA);
-
-        mController = new UnrestrictedPreferenceController(context, UID, PACKAGE_NAME);
-        mPreference = new SelectorWithWidgetPreference(RuntimeEnvironment.application);
-        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(context, UID, PACKAGE_NAME));
-        mController.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
-    }
-
-    @Test
-    public void testUpdateState_isValidPackage_prefEnabled() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
-
-        mController.updateState(mPreference);
-
-        assertThat(mBatteryOptimizeUtils.isOptimizeModeMutable()).isTrue();
-        assertThat(mPreference.isEnabled()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_invalidPackage_prefDisabled() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
-
-        mController.updateState(mPreference);
-
-        assertThat(mBatteryOptimizeUtils.isOptimizeModeMutable()).isFalse();
-        assertThat(mPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_isSystemOrDefaultAppAndUnrestrictedStates_prefChecked() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_isSystemOrDefaultApp_prefUnchecked() {
-        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isFalse();
-        assertThat(mPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_isUnrestrictedStates_prefChecked() {
-        when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isTrue();
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_prefUnchecked() {
-        when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
-        when(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isTrue();
-        assertThat(mPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void testHandlePreferenceTreeClick_samePrefKey_verifyAction() {
-        mPreference.setKey(mController.KEY_UNRESTRICTED_PREF);
-        mController.handlePreferenceTreeClick(mPreference);
-
-        assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue();
-    }
-
-    @Test
-    public void testHandlePreferenceTreeClick_incorrectPrefKey_noAction() {
-        assertThat(mController.handlePreferenceTreeClick(mPreference)).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreenTest.kt b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreenTest.kt
new file mode 100644
index 0000000..a034e52
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScreenTest.kt
@@ -0,0 +1,37 @@
+/*
+ * Copyright (C) 2024 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.fuelgauge.batterysaver
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class BatterySaverScreenTest : CatalystScreenTestCase() {
+
+    override val preferenceScreenCreator = BatterySaverScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_BATTERY_SAVER_SCREEN
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(BatterySaverScreen.KEY)
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
index 2f20b42..1fed13f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
@@ -110,7 +110,6 @@
         mDataProcessManager =
                 new DataProcessManager(
                         mContext,
-                        /* handler= */ null,
                         mUserIdsSeries,
                         /* isFromPeriodJob= */ false,
                         /* rawStartTimestamp= */ 0L,
@@ -131,7 +130,6 @@
         final DataProcessManager dataProcessManager =
                 new DataProcessManager(
                         mContext,
-                        /* handler= */ null,
                         mUserIdsSeries,
                         /* callbackFunction= */ null);
         assertThat(dataProcessManager.getShowScreenOnTime()).isFalse();
@@ -257,7 +255,6 @@
         final DataProcessManager dataProcessManager =
                 new DataProcessManager(
                         mContext,
-                        /* handler= */ null,
                         mUserIdsSeries,
                         /* isFromPeriodJob= */ false,
                         /* rawStartTimestamp= */ 2L,
@@ -349,7 +346,6 @@
         assertThat(
                         DataProcessManager.getBatteryLevelData(
                                 mContext,
-                                /* handler= */ null,
                                 mUserIdsSeries,
                                 /* isFromPeriodJob= */ false,
                                 /* asyncResponseDelegate= */ null))
@@ -357,7 +353,6 @@
         assertThat(
                         DataProcessManager.getBatteryLevelData(
                                 mContext,
-                                /* handler= */ null,
                                 mUserIdsSeries,
                                 /* isFromPeriodJob= */ true,
                                 /* asyncResponseDelegate= */ null))
@@ -379,7 +374,6 @@
         final BatteryLevelData resultData =
                 DataProcessManager.getBatteryLevelData(
                         mContext,
-                        /* handler= */ null,
                         mUserIdsSeries,
                         /* isFromPeriodJob= */ false,
                         /* asyncResponseDelegate= */ null);
@@ -408,7 +402,6 @@
         final BatteryLevelData resultData =
                 DataProcessManager.getBatteryLevelData(
                         mContext,
-                        /* handler= */ null,
                         mUserIdsSeries,
                         /* isFromPeriodJob= */ false,
                         /* asyncResponseDelegate= */ null);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreenTest.kt b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreenTest.kt
new file mode 100644
index 0000000..80a6b2e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryScreenTest.kt
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2024 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.fuelgauge.batteryusage
+
+import android.content.ContextWrapper
+import android.content.res.Resources
+import android.platform.test.annotations.DisableFlags
+import android.platform.test.annotations.EnableFlags
+import androidx.fragment.app.testing.FragmentScenario
+import androidx.preference.PreferenceFragmentCompat
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settings.testutils.shadow.ShadowUtils
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.Test
+import org.mockito.ArgumentMatchers.anyInt
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+import org.robolectric.annotation.Config
+
+@Config(shadows = [ShadowUtils::class])
+class PowerUsageSummaryScreenTest : CatalystScreenTestCase() {
+
+    override val preferenceScreenCreator = PowerUsageSummaryScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_POWER_USAGE_SUMMARY_SCREEN
+
+    private val mockResources = mock<Resources>()
+
+    private val context =
+        object : ContextWrapper(appContext) {
+            override fun getResources(): Resources = mockResources
+        }
+
+    @After
+    fun tearDown() {
+        ShadowUtils.reset()
+    }
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(PowerUsageSummaryScreen.KEY)
+    }
+
+    @Test
+    fun isAvailable_configTrue_shouldReturnTrue() {
+        mockResources.stub { on { getBoolean(anyInt()) } doReturn true }
+
+        assertThat(preferenceScreenCreator.isAvailable(context)).isTrue()
+    }
+
+    @Test
+    fun isAvailable_configFalse_shouldReturnFalse() {
+        mockResources.stub { on { getBoolean(anyInt()) } doReturn false }
+
+        assertThat(preferenceScreenCreator.isAvailable(context)).isFalse()
+    }
+
+    @Test
+    @EnableFlags(Flags.FLAG_HOMEPAGE_REVAMP)
+    fun getIcon_whenHomePageRevampFlagOn() {
+        assertThat(preferenceScreenCreator.getIcon(context))
+            .isEqualTo(R.drawable.ic_settings_battery_filled)
+    }
+
+    @Test
+    @DisableFlags(Flags.FLAG_HOMEPAGE_REVAMP)
+    fun getIcon_whenHomePageRevampFlagOff() {
+        assertThat(preferenceScreenCreator.getIcon(context))
+            .isEqualTo(R.drawable.ic_settings_battery_white)
+    }
+
+    override fun migration() {
+        ShadowUtils.setIsBatteryPresent(false)
+
+        super.migration()
+    }
+
+    override fun launchFragmentScenario(fragmentClass: Class<PreferenceFragmentCompat>) =
+        FragmentScenario.launch(
+            fragmentClass,
+            themeResId = R.style.Theme_CollapsingToolbar_Settings,
+        )
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
index 19d5e59..0473228 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
@@ -37,13 +37,13 @@
 import android.os.Bundle;
 import android.provider.Settings;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.loader.app.LoaderManager;
 import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.SettingsActivity;
 import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
 import com.android.settings.fuelgauge.BatteryInfo;
 import com.android.settings.fuelgauge.BatteryUtils;
@@ -82,7 +82,7 @@
         sAdditionalBatteryInfoIntent = new Intent("com.example.app.ADDITIONAL_BATTERY_INFO");
     }
 
-    @Mock private SettingsActivity mSettingsActivity;
+    @Mock private FragmentActivity mActivity;
     @Mock private LoaderManager mLoaderManager;
     @Mock private Loader<BatteryTip> mBatteryTipLoader;
     @Mock private Loader<BatteryInfo> mBatteryInfoLoader;
@@ -106,7 +106,7 @@
         mFragment = spy(new TestFragment(mRealContext, mLoaderManager));
         mFragment.initFeatureProvider();
         doNothing().when(mFragment).restartBatteryStatsLoader(anyInt());
-        when(mFragment.getActivity()).thenReturn(mSettingsActivity);
+        when(mFragment.getActivity()).thenReturn(mActivity);
         when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent())
                 .thenReturn(sAdditionalBatteryInfoIntent);
         mFragment.mBatteryUtils = Mockito.spy(new BatteryUtils(mRealContext));
diff --git a/tests/robotests/src/com/android/settings/gestures/ButtonNavigationSettingsAssistControllerTest.java b/tests/robotests/src/com/android/settings/gestures/ButtonNavigationSettingsAssistControllerTest.java
index d961cdf..493fb01 100644
--- a/tests/robotests/src/com/android/settings/gestures/ButtonNavigationSettingsAssistControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/ButtonNavigationSettingsAssistControllerTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.gestures;
 
+import static android.app.contextualsearch.ContextualSearchManager.FEATURE_CONTEXTUAL_SEARCH;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.mock;
@@ -23,6 +25,7 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.pm.PackageManager;
 import android.content.res.Resources;
 import android.provider.Settings;
 
@@ -40,13 +43,16 @@
             "assistant_long_press_home_gesture";
 
     private Context mContext;
+    private PackageManager mPackageManager;
     private Resources mResources;
     private ButtonNavigationSettingsAssistController mController;
 
     @Before
     public void setUp() {
         mContext = spy(ApplicationProvider.getApplicationContext());
+        mPackageManager = mock(PackageManager.class);
         mResources = mock(Resources.class);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mContext.getResources()).thenReturn(mResources);
 
         mController = new ButtonNavigationSettingsAssistController(
@@ -97,4 +103,23 @@
                 Settings.Secure.ASSIST_LONG_PRESS_HOME_ENABLED, -1)).isEqualTo(1);
     }
 
+    @Test
+    public void onPreferenceChange_preferenceChecked_valueTrue() {
+        mController.onPreferenceChange(null, true);
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ASSIST_LONG_PRESS_HOME_ENABLED, -1)).isEqualTo(1);
+    }
+
+    @Test
+    public void onPreferenceChange_preferenceUnchecked_valueFalse() {
+        mController.onPreferenceChange(null, false);
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ASSIST_LONG_PRESS_HOME_ENABLED, -1)).isEqualTo(0);
+    }
+
+    @Test
+    public void isAvailable_hasContextualSearchSystemFeature_shouldReturnFalse() {
+        when(mPackageManager.hasSystemFeature(FEATURE_CONTEXTUAL_SEARCH)).thenReturn(true);
+        assertThat(mController.isAvailable()).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/gestures/NavigationSettingsContextualSearchControllerTest.java b/tests/robotests/src/com/android/settings/gestures/NavigationSettingsContextualSearchControllerTest.java
new file mode 100644
index 0000000..a4744db
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/gestures/NavigationSettingsContextualSearchControllerTest.java
@@ -0,0 +1,104 @@
+/*
+ * Copyright (C) 2024 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 android.app.contextualsearch.ContextualSearchManager.FEATURE_CONTEXTUAL_SEARCH;
+
+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.pm.PackageManager;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowDeviceConfig.class)
+public class NavigationSettingsContextualSearchControllerTest {
+
+    private static final String KEY_PRESS_HOLD_FOR_SEARCH = "search_gesture_press_hold";
+
+    private NavigationSettingsContextualSearchController mController;
+    private Context mContext;
+    private PackageManager mPackageManager;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mPackageManager = mock(PackageManager.class);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        mController = new NavigationSettingsContextualSearchController(
+                mContext, KEY_PRESS_HOLD_FOR_SEARCH);
+    }
+
+    @Test
+    public void isAvailable_hasContextualSearchSystemFeature_shouldReturnTrue() {
+        when(mPackageManager.hasSystemFeature(FEATURE_CONTEXTUAL_SEARCH)).thenReturn(true);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_doesNotHaveContextualSearchSystemFeature_shouldReturnFalse() {
+        when(mPackageManager.hasSystemFeature(FEATURE_CONTEXTUAL_SEARCH)).thenReturn(false);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isChecked_noDefault_true() {
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_valueFalse_shouldReturnFalse() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.SEARCH_ALL_ENTRYPOINTS_ENABLED, 0);
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_valueTrue_shouldReturnTrue() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.SEARCH_ALL_ENTRYPOINTS_ENABLED, 1);
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void onPreferenceChange_preferenceChecked_valueTrue() {
+        mController.onPreferenceChange(null, true);
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.SEARCH_ALL_ENTRYPOINTS_ENABLED, -1)).isEqualTo(1);
+    }
+
+    @Test
+    public void onPreferenceChange_preferenceUnchecked_valueFalse() {
+        mController.onPreferenceChange(null, false);
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.SEARCH_ALL_ENTRYPOINTS_ENABLED, -1)).isEqualTo(0);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysControllerTest.java
index d16f697..b385b2f 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityBounceKeysControllerTest.java
@@ -57,7 +57,7 @@
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
     @Rule
     public MockitoRule mMockitoRule = MockitoJUnit.rule();
-    private static final String PREFERENCE_KEY = "accessibility_bounce_keys";
+    private static final String PREFERENCE_KEY = "keyboard_a11y_page_bounce_keys";
     @Mock
     private Preference mPreference;
     private Context mContext;
@@ -116,8 +116,8 @@
     public void handlePreferenceTreeClick_performClickOn200_updatesBounceKeysThreshold() {
         mKeyboardAccessibilityBounceKeysController.handlePreferenceTreeClick(mPreference);
         AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
-        RadioGroup radioGroup = alertDialog.findViewById(R.id.bounce_key_value_group);
-        radioGroup.check(R.id.bounce_key_value_200);
+        RadioGroup radioGroup = alertDialog.findViewById(R.id.input_setting_keys_value_group);
+        radioGroup.check(R.id.input_setting_keys_value_200);
 
         alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
         ShadowLooper.idleMainLooper();
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysControllerTest.java
index 5922497..fdb4ab9 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityMouseKeysControllerTest.java
@@ -50,7 +50,7 @@
         mContext = RuntimeEnvironment.application;
         mKeyboardAccessibilityMouseKeysController = new KeyboardAccessibilityMouseKeysController(
                 mContext,
-                "accessibility_mouse_keys");
+                "keyboard_a11y_page_mouse_keys");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysControllerTest.java
index 5f6908a..9f82b75 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilitySlowKeysControllerTest.java
@@ -18,39 +18,59 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.when;
+
 import android.content.Context;
 import android.hardware.input.InputSettings;
 import android.platform.test.annotations.DisableFlags;
 import android.platform.test.annotations.EnableFlags;
 import android.platform.test.flag.junit.SetFlagsRule;
+import android.widget.RadioGroup;
 
+import androidx.appcompat.app.AlertDialog;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.keyboard.Flags;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 
 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 org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowLooper;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         com.android.settings.testutils.shadow.ShadowFragment.class,
+        ShadowAlertDialogCompat.class,
 })
 public class KeyboardAccessibilitySlowKeysControllerTest {
     @Rule
     public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    @Rule
+    public MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private static final String PREFERENCE_KEY = "keyboard_a11y_page_slow_keys";
+    @Mock
+    private Preference mPreference;
     private Context mContext;
     private KeyboardAccessibilitySlowKeysController mKeyboardAccessibilitySlowKeysController;
 
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mKeyboardAccessibilitySlowKeysController = new KeyboardAccessibilitySlowKeysController(
                 mContext,
-                "accessibility_slow_keys");
+                PREFERENCE_KEY);
+        when(mPreference.getKey()).thenReturn(PREFERENCE_KEY);
     }
 
     @Test
@@ -82,4 +102,28 @@
 
         assertThat(isEnabled).isFalse();
     }
+
+    @Test
+    public void handlePreferenceTreeClick_dialogShows() {
+        mKeyboardAccessibilitySlowKeysController.handlePreferenceTreeClick(mPreference);
+
+        AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+
+        assertThat(alertDialog.isShowing()).isTrue();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_performClickOn200_updatesSlowKeysThreshold() {
+        mKeyboardAccessibilitySlowKeysController.handlePreferenceTreeClick(mPreference);
+        AlertDialog alertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        RadioGroup radioGroup = alertDialog.findViewById(R.id.input_setting_keys_value_group);
+        radioGroup.check(R.id.input_setting_keys_value_200);
+
+        alertDialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();
+        ShadowLooper.idleMainLooper();
+
+        assertThat(alertDialog.isShowing()).isFalse();
+        int threshold = InputSettings.getAccessibilitySlowKeysThreshold(mContext);
+        assertThat(threshold).isEqualTo(200);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysControllerTest.java
index 06cb558..4631f57 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardAccessibilityStickyKeysControllerTest.java
@@ -50,7 +50,7 @@
         mContext = RuntimeEnvironment.application;
         mKeyboardAccessibilityStickyKeysController = new KeyboardAccessibilityStickyKeysController(
                 mContext,
-                "accessibility_sticky_keys");
+                "keyboard_a11y_page_sticky_keys");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysControllerTest.java
index e1b4ffd..d511edc 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysControllerTest.java
@@ -51,7 +51,7 @@
     public void setUp() {
         mContext = RuntimeEnvironment.application;
         mKeyboardRepeatKeysController = new KeyboardRepeatKeysController(mContext,
-                "physical_keyboard_repeat_key");
+                "physical_keyboard_repeat_keys");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysDelayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysDelayPreferenceControllerTest.java
new file mode 100644
index 0000000..0f2deac
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysDelayPreferenceControllerTest.java
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2024 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.inputmethod;
+
+import static com.android.input.flags.Flags.FLAG_KEYBOARD_REPEAT_KEYS;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.hardware.input.InputSettings;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+public class KeyboardRepeatKeysDelayPreferenceControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private Context mContext;
+    private KeyboardRepeatKeysDelayPreferenceController mRepeatKeysDelayPreferenceController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mRepeatKeysDelayPreferenceController = new KeyboardRepeatKeysDelayPreferenceController(
+                mContext, "repeat_keys_delay_preference");
+    }
+
+    @Test
+    @EnableFlags(FLAG_KEYBOARD_REPEAT_KEYS)
+    public void getAvailabilityStatus_flagIsEnabled_isAvailable() {
+        assertThat(mRepeatKeysDelayPreferenceController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    @DisableFlags(FLAG_KEYBOARD_REPEAT_KEYS)
+    public void getAvailabilityStatus_flagIsDisabled_notSupport() {
+        assertThat(mRepeatKeysDelayPreferenceController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void setSliderPosition_updatesInputSettingValue() {
+        int sliderPosition = 1;
+        mRepeatKeysDelayPreferenceController.setSliderPosition(sliderPosition);
+        assertThat(InputSettings.getRepeatKeysDelay(mContext)).isEqualTo(
+                KeyboardRepeatKeysDelayPreferenceController.REPEAT_KEY_DELAY_VALUE_LIST.get(
+                        sliderPosition));
+    }
+
+    @Test
+    public void getSliderPosition_matchesWithDelayValue() {
+        int timeout = InputSettings.getRepeatKeysDelay(mContext);
+        assertThat(mRepeatKeysDelayPreferenceController.getSliderPosition()).isEqualTo(
+                KeyboardRepeatKeysDelayPreferenceController.REPEAT_KEY_DELAY_VALUE_LIST.indexOf(
+                        timeout));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysTimeOutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysTimeOutPreferenceControllerTest.java
new file mode 100644
index 0000000..f192c0c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardRepeatKeysTimeOutPreferenceControllerTest.java
@@ -0,0 +1,88 @@
+/*
+ * Copyright 2024 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.inputmethod;
+
+import static com.android.input.flags.Flags.FLAG_KEYBOARD_REPEAT_KEYS;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.hardware.input.InputSettings;
+import android.platform.test.annotations.DisableFlags;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+public class KeyboardRepeatKeysTimeOutPreferenceControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private Context mContext;
+    private KeyboardRepeatKeysTimeOutPreferenceController
+            mKeyboardRepeatKeysTimeOutPreferenceController;
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mKeyboardRepeatKeysTimeOutPreferenceController =
+                new KeyboardRepeatKeysTimeOutPreferenceController(mContext,
+                        "repeat_keys_timeout_preference");
+    }
+
+    @Test
+    @EnableFlags(FLAG_KEYBOARD_REPEAT_KEYS)
+    public void getAvailabilityStatus_flagIsEnabled_isAvailable() {
+        assertThat(mKeyboardRepeatKeysTimeOutPreferenceController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    @DisableFlags(FLAG_KEYBOARD_REPEAT_KEYS)
+    public void getAvailabilityStatus_flagIsDisabled_notSupport() {
+        assertThat(mKeyboardRepeatKeysTimeOutPreferenceController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void setSliderPosition_updatesInputSettingValue() {
+        int sliderPosition = 1;
+        mKeyboardRepeatKeysTimeOutPreferenceController.setSliderPosition(sliderPosition);
+        assertThat(InputSettings.getRepeatKeysTimeout(mContext)).isEqualTo(
+                KeyboardRepeatKeysTimeOutPreferenceController.REPEAT_KEY_TIMEOUT_VALUE_LIST.get(
+                        sliderPosition));
+    }
+
+    @Test
+    public void getSliderPosition_matchesWithTimeoutValue() {
+        int timeout = InputSettings.getRepeatKeysTimeout(mContext);
+        assertThat(mKeyboardRepeatKeysTimeOutPreferenceController.getSliderPosition()).isEqualTo(
+                KeyboardRepeatKeysTimeOutPreferenceController.REPEAT_KEY_TIMEOUT_VALUE_LIST.indexOf(
+                        timeout));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/location/LocationScreenTest.kt b/tests/robotests/src/com/android/settings/location/LocationScreenTest.kt
new file mode 100644
index 0000000..1d1696d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/location/LocationScreenTest.kt
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2024 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.location
+
+import android.content.Context
+import android.content.ContextWrapper
+import android.location.LocationManager
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class LocationScreenTest : CatalystScreenTestCase() {
+    override val preferenceScreenCreator = LocationScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_LOCATION_SETTINGS
+
+    private val mockLocationManager = mock<LocationManager>()
+
+    private val context =
+            object : ContextWrapper(appContext) {
+                override fun getSystemService(name: String): Any =
+                    when (name) {
+                        Context.LOCATION_SERVICE -> mockLocationManager
+                        else -> super.getSystemService(name)
+                    }
+            }
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(LocationScreen.KEY)
+    }
+
+    @Test
+    fun getSummary_enableLocation_shouldReturnLoading() {
+        mockLocationManager.stub { on { isLocationEnabled } doReturn true }
+
+        assertThat(preferenceScreenCreator.getSummary(context)).isEqualTo(
+                context.getString(R.string.location_settings_loading_app_permission_stats))
+    }
+
+    @Test
+    fun getSummary_disableLocation_shouldReturnLocationOff() {
+        mockLocationManager.stub { on { isLocationEnabled } doReturn false }
+
+        assertThat(preferenceScreenCreator.getSummary(context)).isEqualTo(
+                context.getString(R.string.location_settings_summary_location_off))
+    }
+
+    override fun migration() {
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/AdaptiveConnectivityScreenTest.kt b/tests/robotests/src/com/android/settings/network/AdaptiveConnectivityScreenTest.kt
new file mode 100644
index 0000000..f575fe7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/AdaptiveConnectivityScreenTest.kt
@@ -0,0 +1,38 @@
+/*
+ * Copyright (C) 2024 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.network
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class AdaptiveConnectivityScreenTest : CatalystScreenTestCase() {
+    override val preferenceScreenCreator = AdaptiveConnectivityScreen()
+    override val flagName
+        get() = Flags.FLAG_CATALYST_ADAPTIVE_CONNECTIVITY
+
+    override fun migration() {}
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(AdaptiveConnectivityScreen.KEY)
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkListScreenTest.kt b/tests/robotests/src/com/android/settings/network/MobileNetworkListScreenTest.kt
new file mode 100644
index 0000000..1d7a1d9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/MobileNetworkListScreenTest.kt
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2024 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.network
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class MobileNetworkListScreenTest : CatalystScreenTestCase() {
+    override val preferenceScreenCreator = MobileNetworkListScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_MOBILE_NETWORK_LIST
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(MobileNetworkListScreen.KEY)
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/NetworkDashboardScreenTest.kt b/tests/robotests/src/com/android/settings/network/NetworkDashboardScreenTest.kt
new file mode 100644
index 0000000..8318e09
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/NetworkDashboardScreenTest.kt
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2024 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.network
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.flags.Flags
+import com.android.settings.testutils.shadow.ShadowConnectivityManager
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.annotation.Config
+
+@RunWith(AndroidJUnit4::class)
+@Config(shadows = [ShadowConnectivityManager::class])
+class NetworkDashboardScreenTest : CatalystScreenTestCase() {
+    override val preferenceScreenCreator = NetworkDashboardScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_NETWORK_PROVIDER_AND_INTERNET_SCREEN
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(NetworkDashboardScreen.KEY)
+    }
+
+    override fun migration() {
+        // Avoid thread hanging when TetheringManager.isTetheringSupported
+        ShadowConnectivityManager.getShadow().setTetheringSupported(true)
+
+        super.migration()
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/network/NetworkProviderScreenTest.kt b/tests/robotests/src/com/android/settings/network/NetworkProviderScreenTest.kt
new file mode 100644
index 0000000..d8888c5
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/NetworkProviderScreenTest.kt
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2024 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.network
+
+import android.content.ContextWrapper
+import android.content.res.Resources
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.anyInt
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class NetworkProviderScreenTest : CatalystScreenTestCase() {
+    override val preferenceScreenCreator = NetworkProviderScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_INTERNET_SETTINGS
+
+    private val mockResources = mock<Resources>()
+
+    private val context =
+        object : ContextWrapper(appContext) {
+            override fun getResources(): Resources = mockResources
+        }
+
+    @Test
+    fun key() {
+        assertThat(preferenceScreenCreator.key).isEqualTo(NetworkProviderScreen.KEY)
+    }
+
+    @Test
+    fun isAvailable_showInternetSettings_shouldReturnTrue() {
+        mockResources.stub { on { getBoolean(anyInt()) } doReturn true }
+
+        assertThat(preferenceScreenCreator.isAvailable(context)).isTrue()
+    }
+
+    @Test
+    fun isAvailable_notShowInternetSettings_shouldReturnFalse() {
+        mockResources.stub { on { getBoolean(anyInt()) } doReturn false }
+
+        assertThat(preferenceScreenCreator.isAvailable(context)).isFalse()
+    }
+
+    override fun migration() {}
+}
diff --git a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
index 400f73f..df399d7 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
@@ -70,6 +70,7 @@
 
 import com.android.settings.AirplaneModeEnabler;
 import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.datausage.DataUsagePreference;
 import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
 import com.android.settings.testutils.shadow.ShadowFragment;
@@ -98,6 +99,7 @@
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.shadows.ShadowToast;
+import org.robolectric.util.ReflectionHelpers;
 
 import java.util.List;
 
@@ -190,6 +192,9 @@
                 .when(mFirstWifiEntryPreferenceCategory).getKey();
         mNetworkProviderSettings.mFirstWifiEntryPreferenceCategory =
                 mFirstWifiEntryPreferenceCategory;
+
+        ReflectionHelpers.setField(mNetworkProviderSettings, "mDashboardFeatureProvider",
+                mock(DashboardFeatureProvider.class));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/network/apn/ApnEditorTest.java b/tests/robotests/src/com/android/settings/network/apn/ApnEditorTest.java
deleted file mode 100644
index d8895d5..0000000
--- a/tests/robotests/src/com/android/settings/network/apn/ApnEditorTest.java
+++ /dev/null
@@ -1,625 +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.network.apn;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.ContentResolver;
-import android.content.ContentValues;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.PersistableBundle;
-import android.os.UserManager;
-import android.telephony.CarrierConfigManager;
-import android.view.KeyEvent;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-
-import androidx.fragment.app.FragmentActivity;
-import androidx.preference.EditTextPreference;
-import androidx.preference.ListPreference;
-import androidx.preference.MultiSelectListPreference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.R;
-import com.android.settings.network.ProxySubscriptionManager;
-import com.android.settings.network.apn.ApnEditor.ApnData;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Captor;
-import org.mockito.Mock;
-import org.mockito.Mockito;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {
-        com.android.settings.testutils.shadow.ShadowFragment.class,
-})
-public class ApnEditorTest {
-
-    private static final Object[] APN_DATA = {
-            0, /* ID */
-            "apn_name" /* apn name */,
-            "apn.com" /* apn */,
-            "" /* proxy */,
-            "" /* port */,
-            "" /* username */,
-            "" /* server */,
-            "" /* password */,
-            "" /* MMSC */,
-            "123" /* MCC */,
-            "456" /* MNC */,
-            "123456" /* operator numeric */,
-            "" /* MMS proxy */,
-            "" /* MMS port */,
-            0 /* Authentication type */,
-            "default,supl,ia" /* APN type */,
-            "IP" /* APN protocol */,
-            1 /* APN enable/disable */,
-            0 /* Bearer */,
-            0 /* Bearer BITMASK*/,
-            "IPV6" /* APN roaming protocol */,
-            "None" /* MVNO type */,
-            "", /* MVNO value */
-    };
-
-    private static final int CURSOR_INTEGER_INDEX = 0;
-    private static final int CURSOR_STRING_INDEX = 1;
-
-    private static final Uri APN_URI = Uri.parse("Apn://row/1");
-
-    @Mock
-    private Cursor mCursor;
-
-    @Mock
-    private FragmentActivity mActivity;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private ProxySubscriptionManager mProxySubscriptionMgr;
-    @Mock
-    private CarrierConfigManager mCarrierConfigManager;
-    @Captor
-    private ArgumentCaptor<Uri> mUriCaptor;
-
-    private ApnEditor mApnEditorUT;
-    private Context mContext;
-    private Resources mResources;
-    private PersistableBundle mBundle = new PersistableBundle();
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-
-        mResources = mContext.getResources();
-        mApnEditorUT = spy(new ApnEditor());
-
-        doReturn(mActivity).when(mApnEditorUT).getActivity();
-        doReturn(mResources).when(mApnEditorUT).getResources();
-        doNothing().when(mApnEditorUT).finish();
-        doNothing().when(mApnEditorUT).showError();
-        doReturn(mContext).when(mApnEditorUT).getContext();
-        doReturn(mContext.getTheme()).when(mActivity).getTheme();
-        doReturn(mContext.getContentResolver()).when(mActivity).getContentResolver();
-
-        doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
-        doReturn(true).when(mUserManager).isAdminUser();
-        doReturn(false).when(mUserManager)
-                .hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
-        doReturn(mCarrierConfigManager).when(mContext)
-                .getSystemService(Context.CARRIER_CONFIG_SERVICE);
-        doReturn(mBundle).when(mCarrierConfigManager).getConfigForSubId(anyInt());
-
-        setMockPreference(mContext);
-        mApnEditorUT.mApnData = new FakeApnData(APN_DATA);
-        mApnEditorUT.sNotSet = "Not Set";
-    }
-
-    @Test
-    public void testApnEditor_doesNotUseManagedQuery() {
-        mApnEditorUT.getApnDataFromUri(Mockito.mock(Uri.class));
-
-        verify(mActivity, never()).managedQuery(
-                any(Uri.class),
-                any(String[].class),
-                any(String.class),
-                any(String.class));
-
-        verify(mActivity, never()).managedQuery(
-                any(Uri.class),
-                any(String[].class),
-                any(String.class),
-                any(String[].class),
-                any(String.class));
-    }
-
-    @Test
-    public void getApnDataFromUri_emptyCursor_returnsNull() {
-        var mockContentResolver = mock(ContentResolver.class);
-        var mockCursor = mock(Cursor.class);
-        doReturn(mockContentResolver).when(mActivity).getContentResolver();
-        when(mockContentResolver.query(any(), any(), any(), any(), any())).thenReturn(mockCursor);
-        when(mockCursor.moveToFirst()).thenReturn(false);
-
-        var apnData = mApnEditorUT.getApnDataFromUri(mock(Uri.class));
-
-        assertThat(apnData).isNull();
-    }
-
-    @Test
-    public void testSetStringValue_valueChanged_shouldSetValue() {
-        // GIVEN an APN value which is different than the APN value in database
-        final String apnKey = "apn";
-        final String apnValue = "testing.com";
-        final ContentValues cv = new ContentValues();
-
-        // WHEN try to check and set the apn value
-        final boolean isDiff = mApnEditorUT.setStringValueAndCheckIfDiff(
-                cv, apnKey, apnValue, false /* assumeDiff */, ApnEditor.APN_INDEX);
-
-        // THEN the APN value is different than the one in database, and it has been stored in the
-        // given ContentValues
-        assertThat(isDiff).isTrue();
-        assertThat(apnValue).isEqualTo(cv.getAsString(apnKey));
-    }
-
-    @Test
-    public void testSetStringValue_valueNotChanged_shouldNotSetValue() {
-        // GIVEN an APN value which is same as the APN value in database
-        final String apnKey = "apn";
-        final String apnValue = (String) APN_DATA[ApnEditor.APN_INDEX];
-        final ContentValues cv = new ContentValues();
-
-        // WHEN try to check and set the apn value
-        final boolean isDiff = mApnEditorUT.setStringValueAndCheckIfDiff(
-                cv, apnKey, apnValue, false /* assumeDiff */, ApnEditor.APN_INDEX);
-
-        // THEN the APN value is same as the one in database, and the new APN value is not stored
-        // in the given ContentValues
-        assertThat(isDiff).isFalse();
-        assertThat(cv.get(apnKey)).isNull();
-    }
-
-    @Test
-    public void testSetStringValue_nullValue_shouldNotSetValue_shouldNotSetValue() {
-        // GIVEN a null APN value
-        final String apnKey = "apn";
-        final String apnValue = null;
-        final ContentValues cv = new ContentValues();
-
-        // WHEN try to check and set the apn value
-        final boolean isDiff = mApnEditorUT.setStringValueAndCheckIfDiff(
-                cv, apnKey, apnValue, false /* assumeDiff */, ApnEditor.APN_INDEX);
-
-        // THEN the APN value is different than the one in database, but the null value is not
-        // stored in the given ContentValues
-        assertThat(isDiff).isTrue();
-        assertThat(cv.get(apnKey)).isNull();
-    }
-
-    @Test
-    public void testSetIntValue_valueChanged_shouldSetValue() {
-        // GIVEN a value indicated whether the apn is enabled, and it's different than the value in
-        // the database
-        final String apnEnabledKey = "apn_enabled";
-        final int apnEnabledValue = 0;
-        final ContentValues cv = new ContentValues();
-
-        // WHEN try to check and set the apn enabled
-        final boolean isDiff = mApnEditorUT.setIntValueAndCheckIfDiff(
-                cv,
-                apnEnabledKey,
-                apnEnabledValue,
-                false /* assumeDiff */,
-                ApnEditor.CARRIER_ENABLED_INDEX);
-
-        // THEN the apn enabled field is different than the one in database, and it has been stored
-        // in the given ContentValues
-        assertThat(isDiff).isTrue();
-        assertThat(cv.getAsInteger(apnEnabledKey)).isEqualTo(apnEnabledValue);
-    }
-
-    @Test
-    public void testSetIntValue_valueNotChanged_shouldNotSetValue() {
-        // GIVEN a value indicated whether the apn is enabled, and it's same as the one in the
-        // database
-        final String apnEnabledKey = "apn_enabled";
-        final int apnEnabledValue = (int) APN_DATA[ApnEditor.CARRIER_ENABLED_INDEX];
-        final ContentValues cv = new ContentValues();
-
-        // WHEN try to check and set the apn enabled
-        final boolean isDiff = mApnEditorUT.setIntValueAndCheckIfDiff(
-                cv,
-                apnEnabledKey,
-                apnEnabledValue,
-                false /* assumeDiff */,
-                ApnEditor.CARRIER_ENABLED_INDEX);
-
-        // THEN the apn enabled field is same as the one in the database, and the filed is not
-        // stored in the given ContentValues
-        assertThat(isDiff).isFalse();
-        assertThat(cv.get(apnEnabledKey)).isNull();
-    }
-
-    @Test
-    public void testValidateApnData_validData_shouldReturnNull() {
-        // GIVEN a valid apn data
-        mApnEditorUT.fillUI(true /* firstTime */);
-
-        // WHEN validate the apn data
-        final String errMsg = mApnEditorUT.validateApnData();
-
-        // THEN the error message should be null
-        assertThat(errMsg).isNull();
-    }
-
-    @Test
-    public void testValidateApn_apnNameNotSet_shouldReturnErrorMessage() {
-        // GIVEN a apn data without the apn name
-        mApnEditorUT.mApnData.mData[ApnEditor.NAME_INDEX] = "";
-        mApnEditorUT.fillUI(true /* firstTime */);
-
-        // THEN validate the apn data
-        final String errMsg = mApnEditorUT.validateApnData();
-
-        // THEN the error message indicated the apn name not set is returned
-        assertThat(errMsg).isEqualTo(mResources.getString(R.string.error_name_empty));
-    }
-
-    @Test
-    public void testValidateApnData_apnNotSet_shouldReturnErrorMessage() {
-        // GIVEN a apn data without the apn
-        mApnEditorUT.mApnData.mData[ApnEditor.APN_INDEX] = "";
-        mApnEditorUT.fillUI(true /* firstTime */);
-
-        // THEN validate the apn data
-        final String errMsg = mApnEditorUT.validateApnData();
-
-        // THEN the error message indicated the apn not set is returned
-        assertThat(errMsg).isEqualTo(mResources.getString(R.string.error_apn_empty));
-    }
-
-    @Test
-    public void testValidateApnData_mccInvalid_shouldReturnErrorMessage() {
-        // The length of the mcc should be 3
-        mApnEditorUT.mApnData.mData[ApnEditor.MCC_INDEX] = "1324";
-        mApnEditorUT.fillUI(true /* firstTime */);
-
-        // WHEN validate the apn data
-        final String errMsg = mApnEditorUT.validateApnData();
-
-        // THEN the error message indicated the mcc invalid is returned
-        assertThat(errMsg).isEqualTo(mResources.getString(R.string.error_mcc_not3));
-    }
-
-    @Test
-    public void testValidateApnData_mncInvalid_shouldReturnErrorMessage() {
-        // GIVEN an apn data with invalid mnc
-        // The length of the mnc should be 2 or 3
-        mApnEditorUT.mApnData.mData[ApnEditor.MNC_INDEX] = "1324";
-        mApnEditorUT.fillUI(true /* firstTime */);
-
-        // WHEN validate the apn data
-        final String errMsg = mApnEditorUT.validateApnData();
-
-        // THEN the error message indicated the mnc invalid is returned
-        assertThat(errMsg).isEqualTo(mResources.getString(R.string.error_mnc_not23));
-    }
-
-    @Test
-    public void testSaveApnData_pressBackButtonWithValidApnData_shouldSaveApnData() {
-        // GIVEN a valid apn data
-        mApnEditorUT.fillUI(true /* firstTime */);
-
-        // WHEN press the back button
-        final KeyEvent event = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
-        mApnEditorUT.onKey(new View(mContext), KeyEvent.KEYCODE_BACK, event);
-
-        // THEN the apn data is saved and the apn editor is closed
-        verify(mApnEditorUT).validateAndSaveApnData();
-        verify(mApnEditorUT).finish();
-    }
-
-    @Test
-    public void testSaveApnData_pressSaveButtonWithValidApnData_shouldSaveApnData() {
-        // GIVEN a valid apn data
-        mApnEditorUT.fillUI(true /* firstTime */);
-
-        // WHEN press the save button
-        MenuItem item = Mockito.mock(MenuItem.class);
-        // Menu.FIRST + 1 indicated the SAVE option in ApnEditor
-        doReturn(Menu.FIRST + 1).when(item).getItemId();
-        mApnEditorUT.onOptionsItemSelected(item);
-
-        // THEN the apn data is saved and the apn editor is closed
-        verify(mApnEditorUT).validateAndSaveApnData();
-        verify(mApnEditorUT).finish();
-    }
-
-    @Test
-    public void testSaveApnData_apnDataInvalid_shouldNotSaveApnData() {
-        // GIVEN an invalid apn data
-        // The valid apn data should contains a non-empty apn name
-        mApnEditorUT.mApnData.mData[ApnEditor.NAME_INDEX] = "";
-        mApnEditorUT.fillUI(true /* firstTime */);
-
-        // WHEN press the save button
-        final MenuItem item = Mockito.mock(MenuItem.class);
-        // Menu.FIRST + 1 indicated the SAVE option in ApnEditor
-        doReturn(Menu.FIRST + 1).when(item).getItemId();
-        mApnEditorUT.onOptionsItemSelected(item);
-
-        // THEN the error dialog is shown
-        verify(mApnEditorUT).validateAndSaveApnData();
-        verify(mApnEditorUT).showError();
-    }
-
-    @Test
-    public void testDeleteApnData_shouldDeleteData() {
-        // GIVEN a valid apn data correspond a row in database
-        final Uri apnUri = Uri.parse("content://telephony/carriers/1");
-        mApnEditorUT.mApnData = new FakeApnData(APN_DATA, apnUri);
-        mApnEditorUT.fillUI(true /* firstTime */);
-        ContentResolver mockContentResolver = Mockito.mock(ContentResolver.class);
-        doReturn(mockContentResolver).when(mActivity).getContentResolver();
-
-        // WHEN press the save button
-        final MenuItem item = Mockito.mock(MenuItem.class);
-        // Menu.FIRST indicated the DELETE option in ApnEditor
-        doReturn(Menu.FIRST).when(item).getItemId();
-        mApnEditorUT.onOptionsItemSelected(item);
-
-        // THEN the apn data is deleted and the apn editor is closed
-        verify(mockContentResolver).delete(mUriCaptor.capture(), any(), any());
-        assertThat(apnUri).isEqualTo(mUriCaptor.getValue());
-        verify(mApnEditorUT).finish();
-    }
-
-    @Test
-    public void testDeleteApnData_shouldNotPresentMenuWhenNotSupportAdding() {
-        mBundle.putBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL, false);
-
-        MenuItem item = Mockito.mock(MenuItem.class);
-        Menu menu = Mockito.mock(Menu.class);
-        doReturn(item).when(menu).add(anyInt(), anyInt(), anyInt(), anyInt());
-
-        mApnEditorUT.getCarrierCustomizedConfig(mContext);
-        mApnEditorUT.onCreateOptionsMenu(menu, null);
-
-        verify(menu, times(0)).add(anyInt(), eq(ApnEditor.MENU_DELETE), anyInt(), anyInt());
-    }
-
-    @Test(expected = ClassCastException.class)
-    public void testApnData_invalidIntegerType_throwsInvalidTypeException() {
-        // GIVEN a ApnData constructed from cursor
-        initCursor();
-        final ApnData data = new ApnData(APN_URI, mCursor);
-
-        // WHEN get a string from an integer column
-        // THEN the InvalidTypeException is threw
-        data.getString(CURSOR_INTEGER_INDEX);
-    }
-
-    @Test(expected = ClassCastException.class)
-    public void testApnData_invalidStringType_throwsInvalidTypeException() {
-        // GIVEN a ApnData constructed from cursor
-        initCursor();
-        final ApnData data = new ApnData(APN_URI, mCursor);
-
-        // WHEN get a integer from a string column
-        // THEN the InvalidTypeException is threw
-        data.getInteger(CURSOR_STRING_INDEX);
-    }
-
-    @Test
-    public void testApnData_validIntegerType_returnCorrectValue() {
-        // GIVEN a ApnData constructed from cursor
-        initCursor();
-        final ApnData data = new ApnData(APN_URI, mCursor);
-
-        // WHEN get integer from an integer column
-        final int val = data.getInteger(CURSOR_INTEGER_INDEX);
-
-        // THEN the integer is returned correctly
-        assertThat(val).isEqualTo(mCursor.getInt(CURSOR_INTEGER_INDEX));
-    }
-
-    @Test
-    public void testApnData_validStringType_returnCorrectValue() {
-        // GIVEN a ApnData constructed from cursor
-        initCursor();
-        final ApnData data = new ApnData(APN_URI, mCursor);
-
-        // WHEN get string from a string column
-        final String str = data.getString(CURSOR_STRING_INDEX);
-
-        // THEN the integer is returned correctly
-        assertThat(str).isEqualTo(mCursor.getString(CURSOR_STRING_INDEX));
-    }
-
-    @Test
-    public void testApnData_nullValueColumn_returnNull() {
-        // GIVEN a empty ApnData
-        final ApnData data = new ApnData(3);
-
-        // WHEN get string value from a null column
-        final String str = data.getString(0);
-
-        // THEN the null value is returned
-        assertThat(str).isNull();
-    }
-
-    @Test
-    public void formatInteger_shouldParseString() {
-        assertThat(ApnEditor.formatInteger("42")).isEqualTo("42");
-        assertThat(ApnEditor.formatInteger("01")).isEqualTo("01");
-        assertThat(ApnEditor.formatInteger("001")).isEqualTo("001");
-    }
-
-    @Test
-    public void formatInteger_shouldIgnoreNonIntegers() {
-        assertThat(ApnEditor.formatInteger("not an int")).isEqualTo("not an int");
-    }
-
-    @Test
-    public void onCreate_notAdminUser_shouldFinish() {
-        doReturn(false).when(mUserManager).isAdminUser();
-
-        mApnEditorUT.onCreate(null);
-
-        verify(mApnEditorUT).finish();
-    }
-
-    @Test
-    public void onCreate_hasUserRestriction_shouldFinish() {
-        doReturn(true).when(mUserManager)
-                .hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
-
-        mApnEditorUT.onCreate(null);
-
-        verify(mApnEditorUT).finish();
-    }
-
-    @Test
-    public void onCreate_noAction_shouldFinishAndNoCrash() {
-        ProxySubscriptionManager proxySubscriptionMgr = mock(ProxySubscriptionManager.class);
-        mApnEditorUT.mProxySubscriptionMgr = proxySubscriptionMgr;
-        doReturn(new Intent()).when(mActivity).getIntent();
-        doNothing().when(mApnEditorUT).addPreferencesFromResource(anyInt());
-
-        mApnEditorUT.onCreate(null);
-
-        verify(mApnEditorUT).finish();
-    }
-
-    @Test
-    public void testOnViewStateRestored_customizedValueWithoutDefault_shouldShowCustomized() {
-        mApnEditorUT.mDefaultApnProtocol = "IP";
-        mApnEditorUT.mApnData.mData[ApnEditor.PROTOCOL_INDEX] = null;
-        mApnEditorUT.mProtocol.setEntryValues(new CharSequence[]{"IP", "IPV6", "IPV4V6"});
-
-        mApnEditorUT.onViewStateRestored(null);
-
-        assertThat(mApnEditorUT.mProtocol.getSummary()).isEqualTo("IPv4");
-    }
-
-    @Test
-    public void testOnViewStateRestored_customizedValueWithDefault_shouldShowDefault() {
-        mApnEditorUT.mDefaultApnProtocol = "IP";
-        mApnEditorUT.mApnData.mData[ApnEditor.PROTOCOL_INDEX] = "IPV6";
-        mApnEditorUT.mProtocol.setEntryValues(new CharSequence[]{"IP", "IPV6", "IPV4V6"});
-
-        mApnEditorUT.onViewStateRestored(null);
-
-        assertThat(mApnEditorUT.mProtocol.getSummary()).isEqualTo("IPv6");
-    }
-
-    @Test
-    public void getUserEnteredApnType_emptyApnType_shouldReturnDefault() {
-        // case 1
-        // GIVEN read only APN types with DUN
-        mApnEditorUT.mReadOnlyApnTypes = new String [] {"dun"};
-        // GIVEN read specificApnTypeForEmptyInput with DEFAULT,DUN
-        mApnEditorUT.mDefaultApnTypes = new String [] {"default", "dun"};
-
-        // Input empty in TYPE
-        mApnEditorUT.mApnData.mData[ApnEditor.TYPE_INDEX] = "";
-        mApnEditorUT.onViewStateRestored(null);
-
-        // THEN APN type should be default
-        assertThat(mApnEditorUT.getUserEnteredApnType()).isEqualTo("default");
-
-        // case 2
-        // GIVEN read only APN types with DUN
-        mApnEditorUT.mReadOnlyApnTypes = new String [] {"dun"};
-        // GIVEN read specificApnTypeForEmptyInput with DEFAULT
-        mApnEditorUT.mDefaultApnTypes = new String [] {"default"};
-
-        // Input empty in TYPE
-        mApnEditorUT.mApnData.mData[ApnEditor.TYPE_INDEX] = "";
-        mApnEditorUT.onViewStateRestored(null);
-
-        // THEN APN type should be default
-        assertThat(mApnEditorUT.getUserEnteredApnType()).isEqualTo("default");
-    }
-
-    private void initCursor() {
-        doReturn(2).when(mCursor).getColumnCount();
-        doReturn(2).when(mCursor).getInt(CURSOR_INTEGER_INDEX);
-        doReturn("str").when(mCursor).getString(CURSOR_STRING_INDEX);
-        doReturn(Cursor.FIELD_TYPE_INTEGER).when(mCursor).getType(CURSOR_INTEGER_INDEX);
-        doReturn(Cursor.FIELD_TYPE_STRING).when(mCursor).getType(CURSOR_STRING_INDEX);
-    }
-
-    private void setMockPreference(Context context) {
-        mApnEditorUT.mName = new EditTextPreference(context);
-        mApnEditorUT.mApn = new EditTextPreference(context);
-        mApnEditorUT.mProxy = new EditTextPreference(context);
-        mApnEditorUT.mPort = new EditTextPreference(context);
-        mApnEditorUT.mUser = new EditTextPreference(context);
-        mApnEditorUT.mServer = new EditTextPreference(context);
-        mApnEditorUT.mPassword = new EditTextPreference(context);
-        mApnEditorUT.mMmsc = new EditTextPreference(context);
-        mApnEditorUT.mMcc = new EditTextPreference(context);
-        mApnEditorUT.mMnc = new EditTextPreference(context);
-        mApnEditorUT.mMmsProxy = new EditTextPreference(context);
-        mApnEditorUT.mMmsPort = new EditTextPreference(context);
-        mApnEditorUT.mAuthType = new ListPreference(context);
-        mApnEditorUT.mApnType = new EditTextPreference(context);
-        mApnEditorUT.mProtocol = new ListPreference(context);
-        mApnEditorUT.mRoamingProtocol = new ListPreference(context);
-        mApnEditorUT.mCarrierEnabled = new SwitchPreference(context);
-        mApnEditorUT.mBearerMulti = new MultiSelectListPreference(context);
-        mApnEditorUT.mMvnoType = new ListPreference(context);
-        mApnEditorUT.mMvnoMatchData = new EditTextPreference(context);
-    }
-
-    private final class FakeApnData extends ApnData {
-        FakeApnData(Object[] data) {
-            super(data.length);
-            System.arraycopy(data, 0, mData, 0, data.length);
-        }
-
-        FakeApnData(Object[] data, Uri uri) {
-            this(data);
-            mUri = uri;
-        }
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java
index c6511ef..3626608 100644
--- a/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java
@@ -39,6 +39,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+// LINT.IfChange
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         com.android.settings.testutils.shadow.ShadowFragment.class,
@@ -123,3 +124,4 @@
         assertThat(System.getInt(mContentResolver, System.DTMF_TONE_WHEN_DIALING, 1)).isEqualTo(0);
     }
 }
+// LINT.ThenChange(DialPadTonePreferenceTest.kt)
diff --git a/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceTest.kt b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceTest.kt
new file mode 100644
index 0000000..63e8e3d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceTest.kt
@@ -0,0 +1,105 @@
+/*
+ * Copyright (C) 2024 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.notification
+
+import android.content.Context
+import android.content.ContextWrapper
+import android.provider.Settings.System.DTMF_TONE_WHEN_DIALING
+import android.telephony.TelephonyManager
+import androidx.preference.SwitchPreferenceCompat
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.datastore.SettingsSystemStore
+import com.android.settingslib.preference.DefaultPreferenceBindingFactory
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+
+// LINT.IfChange
+@RunWith(AndroidJUnit4::class)
+class DialPadTonePreferenceTest {
+    private var telephonyManager: TelephonyManager? = null
+
+    private val context =
+        object : ContextWrapper(ApplicationProvider.getApplicationContext()) {
+            override fun getSystemService(name: String): Any? =
+                when (name) {
+                    Context.TELEPHONY_SERVICE -> telephonyManager
+                    else -> super.getSystemService(name)
+                }
+        }
+
+    private val dialPadTonePreference = DialPadTonePreference()
+
+    @Test
+    fun isAvailable_voiceCapable_shouldReturnTrue() {
+        telephonyManager = mock { on { isVoiceCapable } doReturn true }
+
+        assertThat(dialPadTonePreference.isAvailable(context)).isTrue()
+    }
+
+    @Test
+    fun isAvailable_noVoicCapable_shouldReturnFalse() {
+        telephonyManager = mock { on { isVoiceCapable } doReturn false }
+
+        assertThat(dialPadTonePreference.isAvailable(context)).isFalse()
+    }
+
+    @Test
+    fun performClick_shouldPreferenceChangeToChecked() {
+        enableDialPadTone(false)
+
+        val preference = getSwitchPreference().apply { performClick() }
+
+        assertThat(preference.isChecked).isTrue()
+    }
+
+    @Test
+    fun performClick_shouldPreferenceChangeToUnchecked() {
+        enableDialPadTone(true)
+
+        val preference = getSwitchPreference().apply { performClick() }
+
+        assertThat(preference.isChecked).isFalse()
+    }
+
+    @Test
+    fun dialToneEnabled_shouldCheckedPreference() {
+        enableDialPadTone(true)
+
+        assertThat(getSwitchPreference().isChecked).isTrue()
+    }
+
+    @Test
+    fun dialToneDisabled_shouldUncheckedPreference() {
+        enableDialPadTone(false)
+
+        assertThat(getSwitchPreference().isChecked).isFalse()
+    }
+
+    private fun getSwitchPreference(): SwitchPreferenceCompat =
+        DefaultPreferenceBindingFactory.getPreferenceBinding(dialPadTonePreference).run {
+            val preference = createWidget(context)
+            bind(preference, dialPadTonePreference)
+            preference as SwitchPreferenceCompat
+        }
+
+    private fun enableDialPadTone(enabled: Boolean) =
+        SettingsSystemStore.get(context).setBoolean(DTMF_TONE_WHEN_DIALING, enabled)
+}
+// LINT.ThenChange(DialPadTonePreferenceControllerTest.java)
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManager.java
index fcd1e42..7de69a7 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityManager.java
@@ -24,6 +24,8 @@
 import android.util.ArrayMap;
 import android.view.accessibility.AccessibilityManager;
 
+import com.android.internal.accessibility.common.ShortcutConstants;
+
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 
@@ -71,4 +73,14 @@
             @NonNull List<AccessibilityShortcutInfo> installedAccessibilityShortcutList) {
         mInstalledAccessibilityShortcutList = installedAccessibilityShortcutList;
     }
+
+    /**
+     * Implements the hidden method
+     * {@link AccessibilityManager#getAccessibilityShortcutTargets}.
+     */
+    @Implementation
+    public List<String> getAccessibilityShortcutTargets(
+            @ShortcutConstants.UserShortcutType int shortcutType) {
+        return List.of();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
index 4440bc9..f34042d 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
@@ -90,6 +90,7 @@
     private static final String PREFERENCE_NO_OPTIONS_DESC = "no_options_description";
     private static final String TEST_EMERGENCY_ADDRESS_CARRIER_APP =
             "com.android.settings/.wifi.calling.TestEmergencyAddressCarrierApp";
+    private static final String PREFERENCE_EMERGENCY_ADDRESS = "emergency_address_key";
 
     private TestFragment mFragment;
     private Context mContext;
@@ -138,6 +139,7 @@
         doReturn(mContext.getResources()).when(mFragment).getResources();
         doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();
         doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(anyInt());
+        doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
         final Bundle bundle = new Bundle();
         when(mFragment.getArguments()).thenReturn(bundle);
         doNothing().when(mFragment).addPreferencesFromResource(anyInt());
@@ -380,19 +382,22 @@
 
         @Override
         public <T extends Preference> T findPreference(CharSequence key) {
-            if (SWITCH_BAR.equals(key)) {
+            if (SWITCH_BAR.contentEquals(key)) {
                 return (T) mSwitchPref;
             }
-            if (BUTTON_WFC_MODE.equals(key)) {
+            if (BUTTON_WFC_MODE.contentEquals(key)) {
                 return (T) mButtonWfcMode;
             }
-            if (BUTTON_WFC_ROAMING_MODE.equals(key)) {
+            if (BUTTON_WFC_ROAMING_MODE.contentEquals(key)) {
                 return (T) mButtonWfcRoamingMode;
             }
-            if (PREFERENCE_NO_OPTIONS_DESC.equals(key)) {
+            if (PREFERENCE_NO_OPTIONS_DESC.contentEquals(key)) {
                 return (T) mDescriptionView;
             }
-            return (T) mock(ListWithEntrySummaryPreference.class);
+            if (PREFERENCE_EMERGENCY_ADDRESS.contentEquals(key)) {
+                return (T) mUpdateAddress;
+            }
+            return null;
         }
 
         @Override
diff --git a/tests/robotests/testutils/com/android/settings/testutils/SystemProperty.kt b/tests/robotests/testutils/com/android/settings/testutils/SystemProperty.kt
new file mode 100644
index 0000000..9c2574e
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/SystemProperty.kt
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2024 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.testutils
+
+/**
+ * Helper class to override system properties.
+ *
+ * [System.setProperty] changes the static state in the JVM, which is shared by all tests. Hence,
+ * there is chance that test cases are dependent/interfered due to system property unexpectedly.
+ * This helper class backs up the old properties when invoking [override] and restore the old
+ * properties in [close] to avoid flaky testing.
+ */
+class SystemProperty(overrides: Map<String, String?> = mapOf()) : AutoCloseable {
+    private val oldProperties = mutableMapOf<String, String?>()
+
+    constructor(key: String, value: String?) : this(mapOf(key to value))
+
+    init {
+        override(overrides)
+    }
+
+    fun override(key: String, value: String?) = override(mapOf(key to value))
+
+    fun override(overrides: Map<String, String?>) {
+        // back up system properties for the overrides
+        for (key in overrides.keys) {
+            // only back up the oldest property
+            if (!oldProperties.containsKey(key)) {
+                oldProperties[key] = System.getProperty(key)
+            }
+        }
+        overrides.overrideProperties()
+    }
+
+    override fun close() {
+        // restore the backed up properties
+        oldProperties.overrideProperties()
+        oldProperties.clear()
+    }
+
+    private fun Map<String, String?>.overrideProperties() {
+        for ((key, value) in this) {
+            if (value != null) {
+                System.setProperty(key, value)
+            } else {
+                System.clearProperty(key)
+            }
+        }
+    }
+}
diff --git a/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/Injector.kt b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/Injector.kt
index e7fc3ed..a5d0461 100644
--- a/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/Injector.kt
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/Injector.kt
@@ -44,6 +44,7 @@
 import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
 import com.android.settings.testutils2.FakeFingerprintManagerInteractor
 import com.android.systemui.biometrics.shared.model.toFingerprintSensor
+import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.asStateFlow
@@ -73,7 +74,10 @@
 
   var accessibilityInteractor =
     object : AccessibilityInteractor {
-      override val isAccessibilityEnabled: Flow<Boolean> = flowOf(true)
+      override fun isEnabledFlow(scope: CoroutineScope): Flow<Boolean> = flowOf(true)
+      override val isEnabled: Boolean
+        get() = true
+      override fun announce(clazz: Class<*>, announcement: CharSequence?) {}
     }
 
   var foldStateInteractor =
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.kt
index 4d53260..75c1913 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.kt
@@ -17,6 +17,7 @@
 package com.android.settings.network.telephony
 
 import android.content.Context
+import android.telephony.CarrierConfigManager
 import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID
 import android.telephony.TelephonyManager
 import android.telephony.data.ApnSetting
@@ -26,6 +27,7 @@
 import com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE
 import com.android.settings.network.telephony.MmsMessagePreferenceController.Companion.MmsMessageSearchItem
 import com.google.common.truth.Truth.assertThat
+import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.kotlin.doReturn
@@ -63,6 +65,21 @@
         getDefaultDataSubId = { defaultDataSubId },
     )
 
+    @Before
+    fun setUp() {
+        CarrierConfigRepository.resetForTest()
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_1_ID,
+            key = CarrierConfigManager.KEY_MMS_MMS_ENABLED_BOOL,
+            value = true,
+        )
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_2_ID,
+            key = CarrierConfigManager.KEY_MMS_MMS_ENABLED_BOOL,
+            value = true,
+        )
+    }
+
     @Test
     fun getAvailabilityStatus_invalidSubscription_unavailable() {
         controller.init(INVALID_SUBSCRIPTION_ID)
@@ -165,6 +182,27 @@
     }
 
     @Test
+    fun getAvailabilityStatus_carrierConfigEnabledMmsFalse_unavailable() {
+        defaultDataSubId = SUB_2_ID
+        mockTelephonyManager2.stub {
+            on { isDataEnabled } doReturn false
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+            } doReturn true
+        }
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_2_ID,
+            key = CarrierConfigManager.KEY_MMS_MMS_ENABLED_BOOL,
+            value = false,
+        )
+        controller.init(SUB_2_ID)
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
     fun searchIsAvailable_notDefaultDataAndDataOnAndAutoDataSwitchOn_unavailable() {
         mockTelephonyManager1.stub {
             on { isDataEnabled } doReturn true
@@ -201,6 +239,27 @@
     }
 
     @Test
+    fun searchIsAvailable_carrierConfigEnabledMmsFalse_unavailable() {
+        defaultDataSubId = SUB_2_ID
+        mockTelephonyManager2.stub {
+            on { isDataEnabled } doReturn false
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+            } doReturn true
+        }
+        CarrierConfigRepository.setBooleanForTest(
+            subId = SUB_2_ID,
+            key = CarrierConfigManager.KEY_MMS_MMS_ENABLED_BOOL,
+            value = false,
+        )
+        controller.init(SUB_2_ID)
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
     fun isChecked_whenMmsNotAlwaysAllowed_returnFalse() {
         mockTelephonyManager2.stub {
             on {
diff --git a/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt b/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt
index 04cece8..a8c5e68 100644
--- a/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt
+++ b/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt
@@ -39,6 +39,7 @@
 import com.android.settings.testutils2.FakeFingerprintManagerInteractor
 import com.android.systemui.biometrics.shared.model.toFingerprintSensor
 import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.MutableStateFlow
@@ -106,7 +107,10 @@
       )
     accessibilityInteractor =
       object : AccessibilityInteractor {
-        override val isAccessibilityEnabled: Flow<Boolean> = flowOf(false)
+        override fun isEnabledFlow(scope: CoroutineScope): Flow<Boolean> = flowOf(true)
+        override val isEnabled: Boolean
+          get() = true
+        override fun announce(clazz: Class<*>, announcement: CharSequence?) {}
       }
     foldStateInteractor =
       object : FoldStateInteractor {
diff --git a/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt b/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt
index 95f69da..385de30 100644
--- a/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt
+++ b/tests/unit/src/com/android/settings/fuelgauge/batteryusage/AppOptModeSharedPreferencesUtilsTest.kt
@@ -228,7 +228,7 @@
     @Test
     fun updateBatteryOptimizationMode_updateToOptimizedMode_verifyAction() {
         whenever(testBatteryOptimizeUtils?.isOptimizeModeMutable).thenReturn(true)
-        whenever(testBatteryOptimizeUtils?.getAppOptimizationMode(true))
+        whenever(testBatteryOptimizeUtils?.getAppOptimizationMode())
             .thenReturn(MODE_UNRESTRICTED)
 
         val currentOptMode =
@@ -246,9 +246,9 @@
     }
 
     @Test
-    fun updateBatteryOptimizationMode_optimizationModeNotChanged_verifyAction() {
+    fun updateBatteryOptimizationMode_optimizationModeImmutable_verifyAction() {
         whenever(testBatteryOptimizeUtils?.isOptimizeModeMutable).thenReturn(false)
-        whenever(testBatteryOptimizeUtils?.getAppOptimizationMode(true))
+        whenever(testBatteryOptimizeUtils?.appOptimizationMode)
             .thenReturn(MODE_UNRESTRICTED)
 
         val currentOptMode =
@@ -268,7 +268,7 @@
     @Test
     fun updateBatteryOptimizationMode_updateToSameOptimizationMode_verifyAction() {
         whenever(testBatteryOptimizeUtils?.isOptimizeModeMutable).thenReturn(true)
-        whenever(testBatteryOptimizeUtils?.getAppOptimizationMode(true)).thenReturn(MODE_RESTRICTED)
+        whenever(testBatteryOptimizeUtils?.appOptimizationMode).thenReturn(MODE_RESTRICTED)
 
         val currentOptMode =
             AppOptModeSharedPreferencesUtils.updateBatteryOptimizationMode(
@@ -286,7 +286,7 @@
 
     private fun insertAppOptModeEventForTest(expirationTime: Long, mode: Int = MODE_OPTIMIZED) {
         whenever(testBatteryOptimizeUtils?.isOptimizeModeMutable).thenReturn(true)
-        whenever(testBatteryOptimizeUtils?.getAppOptimizationMode(true)).thenReturn(mode)
+        whenever(testBatteryOptimizeUtils?.appOptimizationMode).thenReturn(mode)
         AppOptModeSharedPreferencesUtils.updateAppOptModeExpirationInternal(
             context,
             mutableListOf(UID),
diff --git a/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
index adc8dc0..ab57f4b 100644
--- a/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
@@ -18,7 +18,6 @@
 
 import static androidx.lifecycle.Lifecycle.Event.ON_START;
 
-import static com.android.settings.network.telephony.MobileNetworkUtils.getRafFromNetworkType;
 import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.CDMA;
 import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.EVDO;
 import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.GSM;
@@ -37,6 +36,7 @@
 import android.content.Context;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
+import android.telephony.RadioAccessFamily;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -304,7 +304,7 @@
     public void onPreferenceChange_updateSuccess() {
         mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
         doReturn(true).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
-                getRafFromNetworkType(
+                RadioAccessFamily.getRafFromNetworkType(
                         TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
 
         mController.updateState(mPreference);
@@ -321,7 +321,8 @@
     public void onPreferenceChange_updateFail() {
         mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
         doReturn(false).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
-                getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+                RadioAccessFamily.getRafFromNetworkType(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
         mController.updateState(mPreference);
         mController.onViewCreated(new TestLifecycleOwner());
@@ -438,7 +439,7 @@
     }
 
     private void mockAccessFamily(int networkMode) {
-        doReturn(MobileNetworkUtils.getRafFromNetworkType(networkMode))
+        doReturn((long) RadioAccessFamily.getRafFromNetworkType(networkMode))
                 .when(mTelephonyManager)
                 .getSupportedRadioAccessFamily();
     }
diff --git a/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
index f22ad3b..663945d 100644
--- a/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/PreferredNetworkModePreferenceControllerTest.java
@@ -30,6 +30,7 @@
 
 import android.content.Context;
 import android.os.PersistableBundle;
+import android.telephony.RadioAccessFamily;
 import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -111,7 +112,7 @@
 
         verify(mTelephonyManager, times(1)).setAllowedNetworkTypesForReason(
                 TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER,
-                MobileNetworkUtils.getRafFromNetworkType(
+                RadioAccessFamily.getRafFromNetworkType(
                         TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA));
     }
 }
diff --git a/tests/unit/src/com/android/settings/security/SecurityDashboardActivityTest.java b/tests/unit/src/com/android/settings/security/SecurityDashboardActivityTest.java
index 0e51733..a3f82b5 100644
--- a/tests/unit/src/com/android/settings/security/SecurityDashboardActivityTest.java
+++ b/tests/unit/src/com/android/settings/security/SecurityDashboardActivityTest.java
@@ -31,6 +31,7 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 
+import androidx.test.annotation.UiThreadTest;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.platform.app.InstrumentationRegistry;
 
@@ -90,6 +91,7 @@
     }
 
     @Test
+    @UiThreadTest
     public void noAvailableAlternativeFragmentAvailable_defaultFragmentSet() {
         when(mSecuritySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment())
                 .thenReturn(false);
@@ -99,6 +101,7 @@
     }
 
     @Test
+    @UiThreadTest
     public void alternativeFragmentAvailable_alternativeFragmentSet() {
         when(mSecuritySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment())
                 .thenReturn(true);
@@ -110,6 +113,7 @@
     }
 
     @Test
+    @UiThreadTest
     public void noAvailableAlternativeFragmentAvailable_alternativeFragmentNotValid() {
         when(mSecuritySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment())
                 .thenReturn(false);
@@ -118,6 +122,7 @@
     }
 
     @Test
+    @UiThreadTest
     public void alternativeFragmentAvailable_alternativeFragmentIsValid() {
         when(mSecuritySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment())
                 .thenReturn(true);
@@ -128,6 +133,7 @@
     }
 
     @Test
+    @UiThreadTest
     public void onCreate_whenSafetyCenterEnabled_redirectsToSafetyCenter() {
         when(mSafetyCenterManagerWrapper.isEnabled(any(Context.class))).thenReturn(true);
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
@@ -139,6 +145,7 @@
     }
 
     @Test
+    @UiThreadTest
     public void onCreate_whenSafetyCenterDisabled_doesntRedirectToSafetyCenter() {
         when(mSafetyCenterManagerWrapper.isEnabled(any(Context.class))).thenReturn(false);
 
