Merge "Import translations. DO NOT MERGE ANYWHERE"
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 199fe5a..476d487 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -178,6 +178,7 @@
                   android:exported="true"
                   android:enabled="false"
                   android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|smallestScreenSize"
+                  android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
                   android:permission="android.permission.LAUNCH_MULTI_PANE_SETTINGS_DEEP_LINK">
             <intent-filter>
                 <action android:name="android.settings.SETTINGS_EMBED_DEEP_LINK_ACTIVITY" />
@@ -224,6 +225,7 @@
         <activity android:name=".SubSettings"
                   android:exported="false"
                   android:theme="@style/Theme.SubSettings"
+                  android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
                   android:taskAffinity="com.android.settings.root" />
 
         <activity android:name=".Settings$CreateShortcutActivity"
@@ -333,6 +335,7 @@
         <activity android:name=".search.SearchResultTrampoline"
                   android:theme="@android:style/Theme.NoDisplay"
                   android:excludeFromRecents="true"
+                  android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
                   android:exported="true">
             <intent-filter>
                 <action android:name="com.android.settings.SEARCH_RESULT_TRAMPOLINE" />
@@ -1628,6 +1631,7 @@
             android:excludeFromRecents="true"
             android:theme="@android:style/Theme.NoDisplay"
             android:exported="true"
+            android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
             android:permission="android.permission.MODIFY_PHONE_STATE">
             <intent-filter>
                 <action android:name="android.intent.action.VIEW" />
diff --git a/res/drawable/ic_event.xml b/res/drawable/ic_event.xml
index a82d754..1bc8f2c 100644
--- a/res/drawable/ic_event.xml
+++ b/res/drawable/ic_event.xml
@@ -30,5 +30,5 @@
         android:height="@dimen/dashboard_tile_foreground_image_size"
         android:start="@dimen/dashboard_tile_foreground_image_inset"
         android:top="@dimen/dashboard_tile_foreground_image_inset"
-        android:drawable="@drawable/ic_event_white" />
+        android:drawable="@drawable/ic_event_shape" />
 </layer-list>
diff --git a/res/drawable/ic_event_white.xml b/res/drawable/ic_event_shape.xml
similarity index 94%
rename from res/drawable/ic_event_white.xml
rename to res/drawable/ic_event_shape.xml
index d80429b..25a8ded 100644
--- a/res/drawable/ic_event_white.xml
+++ b/res/drawable/ic_event_shape.xml
@@ -20,6 +20,6 @@
         android:viewportHeight="24.0">
 
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/settingslib_colorSurface"
         android:pathData="M17.0,12.0l-5.0,0.0l0.0,5.0l5.0,0.0l0.0,-5.0zM16.0,1.0l0.0,2.0L8.0,3.0L8.0,1.0L6.0,1.0l0.0,2.0L5.0,3.0c-1.11,0.0 -1.9,0.9 -1.99,2.0L3.0,19.0c0.0,1.0 0.89,2.0 2.0,2.0l14.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0L21.0,5.0c0.0,-1.1 -0.9,-2.0 -2.0,-2.0l-1.0,0.0L18.0,1.0l-2.0,0.0zm3.0,18.0L5.0,19.0L5.0,8.0l14.0,0.0l0.0,11.0z"/>
 </vector>
diff --git a/res/drawable/ic_timelapse.xml b/res/drawable/ic_timelapse.xml
index ba97bae..8bf1488 100644
--- a/res/drawable/ic_timelapse.xml
+++ b/res/drawable/ic_timelapse.xml
@@ -30,5 +30,5 @@
         android:height="@dimen/dashboard_tile_foreground_image_size"
         android:start="@dimen/dashboard_tile_foreground_image_inset"
         android:top="@dimen/dashboard_tile_foreground_image_inset"
-        android:drawable="@drawable/ic_timelapse_white" />
+        android:drawable="@drawable/ic_timelapse_shape" />
 </layer-list>
diff --git a/res/drawable/ic_timelapse_white.xml b/res/drawable/ic_timelapse_shape.xml
similarity index 94%
rename from res/drawable/ic_timelapse_white.xml
rename to res/drawable/ic_timelapse_shape.xml
index f287747..6475e0b 100644
--- a/res/drawable/ic_timelapse_white.xml
+++ b/res/drawable/ic_timelapse_shape.xml
@@ -20,6 +20,6 @@
         android:viewportHeight="24.0">
 
     <path
-        android:fillColor="#FFFFFFFF"
+        android:fillColor="@color/settingslib_colorSurface"
         android:pathData="M16.24,7.76C15.07,6.59 13.54,6.0 12.0,6.0l0.0,6.0l-4.24,4.24c2.34,2.34 6.14,2.34 8.49,0.0 2.34,-2.34 2.34,-6.14 -0.01,-8.48zM12.0,2.0C6.48,2.0 2.0,6.48 2.0,12.0s4.48,10.0 10.0,10.0 10.0,-4.48 10.0,-10.0S17.52,2.0 12.0,2.0zm0.0,18.0c-4.42,0.0 -8.0,-3.58 -8.0,-8.0s3.58,-8.0 8.0,-8.0 8.0,3.58 8.0,8.0 -3.58,8.0 -8.0,8.0z"/>
 </vector>
diff --git a/res/layout/setup_choose_lock_generic_biometrics_header.xml b/res/layout/setup_choose_lock_generic_biometrics_header.xml
deleted file mode 100644
index daeeedd..0000000
--- a/res/layout/setup_choose_lock_generic_biometrics_header.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-    Copyright (C) 2016 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/SudDescription.Glif"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-    android:paddingTop="@dimen/sud_description_glif_margin_top"
-    android:paddingBottom="@dimen/sud_description_glif_margin_bottom_lists"
-    android:text="@string/lock_settings_picker_biometrics_added_security_message" />
diff --git a/res/layout/setup_choose_lock_generic_header.xml b/res/layout/setup_choose_lock_generic_header.xml
deleted file mode 100644
index 7ec16d2..0000000
--- a/res/layout/setup_choose_lock_generic_header.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-    Copyright (C) 2016 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-
-<TextView xmlns:android="http://schemas.android.com/apk/res/android"
-    style="@style/SudDescription.Glif"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
-    android:paddingTop="@dimen/sud_description_glif_margin_top"
-    android:paddingBottom="@dimen/sud_description_glif_margin_bottom_lists"
-    android:text="@string/setup_lock_settings_picker_message" />
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
index db699af..581c5d4 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Besluit outomaties"</item>
+    <item msgid="3488687531285795335">"Gebruik appverstek"</item>
     <item msgid="5112879855377353813">"Speel op gehoortoestel"</item>
     <item msgid="4853360663119482646">"Speel op foonluidspreker"</item>
   </string-array>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index d7dc7b8..5f735da 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"በራስ ሰር ይወስኑ"</item>
+    <item msgid="3488687531285795335">"የመተግበሪያ ነባሪን ይጠቀሙ"</item>
     <item msgid="5112879855377353813">"በመስሚያ መሣሪያ ያጫውቱ"</item>
     <item msgid="4853360663119482646">"በስልክ ድምጽ ማውጫ ያጫውቱ"</item>
   </string-array>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index c35134a..cba4f15 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"التحديد تلقائيًا"</item>
-    <item msgid="5112879855377353813">"التشغيل على سماعة الأذن الطبية"</item>
-    <item msgid="4853360663119482646">"التشغيل على مكبر صوت الهاتف"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"ضعيفة"</item>
     <item msgid="2470925506985305429">"ضعيفة"</item>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index a53c3f4..6e0f0ce 100644
--- a/res/values-as/arrays.xml
+++ b/res/values-as/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"৫"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"স্বয়ংক্ৰিয়ভাৱে সিদ্ধান্ত লওক"</item>
+    <item msgid="3488687531285795335">"এপৰ ডিফ’ল্ট ছেটিং ব্যৱহাৰ কৰক"</item>
     <item msgid="5112879855377353813">"শুনাৰ ডিভাইচত প্লে’ কৰক"</item>
     <item msgid="4853360663119482646">"ফ’নৰ স্পীকাৰত প্লে’ কৰক"</item>
   </string-array>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index eecf966..ed6a3f2 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Avtomatik qərarvermə"</item>
+    <item msgid="3488687531285795335">"Defolt tətbiq istifadə edin"</item>
     <item msgid="5112879855377353813">"Eşitmə cihazında oxudulma"</item>
     <item msgid="4853360663119482646">"Telefon dinamikində oxudulma"</item>
   </string-array>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index 8435655..5297eb5 100644
--- a/res/values-b+sr+Latn/arrays.xml
+++ b/res/values-b+sr+Latn/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Odluči automatski"</item>
+    <item msgid="3488687531285795335">"Koristi podrazumevanu aplikaciju"</item>
     <item msgid="5112879855377353813">"Pusti na slušnom aparatu"</item>
     <item msgid="4853360663119482646">"Pusti na zvučniku telefona"</item>
   </string-array>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index 5bf478d..8242b3c 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Вырашаць аўтаматычна"</item>
-    <item msgid="5112879855377353813">"Прайграваць на слыхавым апараце"</item>
-    <item msgid="4853360663119482646">"Прайграваць праз дынамік тэлефона"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Дрэнная"</item>
     <item msgid="2470925506985305429">"Дрэнны"</item>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index 89c16e5..1979403 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Автоматично вземане на решение"</item>
+    <item msgid="3488687531285795335">"Ползване на стандартната настройка за приложението"</item>
     <item msgid="5112879855377353813">"Възпроизвеждане чрез слуховия апарат"</item>
     <item msgid="4853360663119482646">"Възпроизвеждане чрез телефона"</item>
   </string-array>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index 9a0ce9c..52fbb06 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"৫"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"অটোমেটিক সিদ্ধান্ত নেওয়ার সুবিধা"</item>
+    <item msgid="3488687531285795335">"ডিফল্ট অ্যাপ ব্যবহার করুন"</item>
     <item msgid="5112879855377353813">"হিয়ারিং এইড ডিভাইসে চালানোর সুবিধা"</item>
     <item msgid="4853360663119482646">"ফোনের স্পিকারে চালানোর সুবিধা"</item>
   </string-array>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index 674f84d..db8b862 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Automatski odluči"</item>
+    <item msgid="3488687531285795335">"Koristi zadanu postavku aplikacije"</item>
     <item msgid="5112879855377353813">"Reproduciraj na slušnom aparatu"</item>
     <item msgid="4853360663119482646">"Reproduciraj na zvučniku telefona"</item>
   </string-array>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index b60ba39..bd91078 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decideix automàticament"</item>
+    <item msgid="3488687531285795335">"Utilitza la configuració predeterminada de l\'app"</item>
     <item msgid="5112879855377353813">"Reprodueix a l\'audiòfon"</item>
     <item msgid="4853360663119482646">"Reprodueix a l\'altaveu del telèfon"</item>
   </string-array>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index c6910ee..fd0ed97 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Rozhodnout automaticky"</item>
-    <item msgid="5112879855377353813">"Přehrávat v naslouchátkách"</item>
-    <item msgid="4853360663119482646">"Přehrávat přes reproduktor telefonu"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Nízká"</item>
     <item msgid="2470925506985305429">"Slabý"</item>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index ee46395..4572492 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Vælg automatisk"</item>
-    <item msgid="5112879855377353813">"Afspil på høreapparat"</item>
-    <item msgid="4853360663119482646">"Afspil på telefonens højttaler"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Dårlig"</item>
     <item msgid="2470925506985305429">"Dårlig"</item>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index ea90f07..de855c4 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Automatisch auswählen"</item>
+    <item msgid="3488687531285795335">"Standard-App verwenden"</item>
     <item msgid="5112879855377353813">"Über Hörgerät wiedergeben"</item>
     <item msgid="4853360663119482646">"Über Telefonlautsprecher wiedergeben"</item>
   </string-array>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 710dea4..f3f3e13 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Αυτόματη απόφαση"</item>
+    <item msgid="3488687531285795335">"Χρήση προεπιλογής εφαρμογής"</item>
     <item msgid="5112879855377353813">"Αναπαραγωγή στη συσκευή ακοής"</item>
     <item msgid="4853360663119482646">"Αναπαραγωγή στο ηχείο τηλεφώνου"</item>
   </string-array>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index 1c40260..7f5af74 100644
--- a/res/values-en-rAU/arrays.xml
+++ b/res/values-en-rAU/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decide automatically"</item>
+    <item msgid="3488687531285795335">"Use app default"</item>
     <item msgid="5112879855377353813">"Play on hearing device"</item>
     <item msgid="4853360663119482646">"Play on phone speaker"</item>
   </string-array>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 83bad44..46c29b1 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decide automatically"</item>
+    <item msgid="3488687531285795335">"Use app default"</item>
     <item msgid="5112879855377353813">"Play on hearing device"</item>
     <item msgid="4853360663119482646">"Play on phone speaker"</item>
   </string-array>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 1c40260..7f5af74 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decide automatically"</item>
+    <item msgid="3488687531285795335">"Use app default"</item>
     <item msgid="5112879855377353813">"Play on hearing device"</item>
     <item msgid="4853360663119482646">"Play on phone speaker"</item>
   </string-array>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index 1c40260..7f5af74 100644
--- a/res/values-en-rIN/arrays.xml
+++ b/res/values-en-rIN/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decide automatically"</item>
+    <item msgid="3488687531285795335">"Use app default"</item>
     <item msgid="5112879855377353813">"Play on hearing device"</item>
     <item msgid="4853360663119482646">"Play on phone speaker"</item>
   </string-array>
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
index fd65f43..d7800e6 100644
--- a/res/values-en-rXC/arrays.xml
+++ b/res/values-en-rXC/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎5‎‏‎‎‏‎"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‏‎‎‏‏‎‏‎‏‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‏‎Decide automatically‎‏‎‎‏‎"</item>
+    <item msgid="3488687531285795335">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‏‏‏‎Use app default‎‏‎‎‏‎"</item>
     <item msgid="5112879855377353813">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‎‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎Play on hearing device‎‏‎‎‏‎"</item>
     <item msgid="4853360663119482646">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎Play on phone speaker‎‏‎‎‏‎"</item>
   </string-array>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index 8febf5c..bf3a68e 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decidir automáticamente"</item>
-    <item msgid="5112879855377353813">"Reproducir en el dispositivo auditivo"</item>
-    <item msgid="4853360663119482646">"Reproducir en la bocina del teléfono"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Baja calidad"</item>
     <item msgid="2470925506985305429">"Baja"</item>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index 0e29a80..078edf4 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decidir automáticamente"</item>
+    <item msgid="3488687531285795335">"Usa la configuración predeterminada de la aplicación"</item>
     <item msgid="5112879855377353813">"Reproducir en el audífono"</item>
     <item msgid="4853360663119482646">"Reproducir en el altavoz del teléfono"</item>
   </string-array>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index 98bb08a..bdc9736 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Otsusta automaatselt"</item>
+    <item msgid="3488687531285795335">"Kasuta rakenduse vaikeseadet"</item>
     <item msgid="5112879855377353813">"Esita kuuldeseadmes"</item>
     <item msgid="4853360663119482646">"Esita telefoni kõlaris"</item>
   </string-array>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index 9b9eedf..85397aa 100644
--- a/res/values-eu/arrays.xml
+++ b/res/values-eu/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Erabaki automatikoki"</item>
+    <item msgid="3488687531285795335">"Erabili aplikazioaren hobespen lehenetsiak"</item>
     <item msgid="5112879855377353813">"Erreproduzitu audifonoan"</item>
     <item msgid="4853360663119482646">"Erreproduzitu telefonoaren bozgorailuan"</item>
   </string-array>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index 47e81ff..c04d2b7 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"انتخاب خودکار"</item>
+    <item msgid="3488687531285795335">"استفاده از پیش‌فرض برنامه"</item>
     <item msgid="5112879855377353813">"پخش در دستگاه کمک‌شنوایی"</item>
     <item msgid="4853360663119482646">"پخش در بلندگوی تلفن"</item>
   </string-array>
@@ -414,7 +414,7 @@
   <string-array name="autofill_logging_level_entries">
     <item msgid="2263571982739726576">"خاموش"</item>
     <item msgid="4295717421282345505">"اشکال‌زدایی"</item>
-    <item msgid="8657797891533816070">"درازنویسی"</item>
+    <item msgid="8657797891533816070">"مفصل"</item>
   </string-array>
   <string-array name="cdma_system_select_choices">
     <item msgid="1205665684426617345">"فقط خانه"</item>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index 69525bc..03aeeb6 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Valitse automaattisesti"</item>
-    <item msgid="5112879855377353813">"Toista kuulolaitteella"</item>
-    <item msgid="4853360663119482646">"Toista puhelimen kaiuttimella"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Huono"</item>
     <item msgid="2470925506985305429">"Heikko"</item>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index bc2c3b3..e3c33cc 100644
--- a/res/values-fr-rCA/arrays.xml
+++ b/res/values-fr-rCA/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Décider automatiquement"</item>
-    <item msgid="5112879855377353813">"Faire jouer sur l\'appareil auditif"</item>
-    <item msgid="4853360663119482646">"Faire jouer sur le haut-parleur du téléphone"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Faible"</item>
     <item msgid="2470925506985305429">"Faible"</item>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 6325765..159cd0f 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Décider automatiquement"</item>
+    <item msgid="3488687531285795335">"Utiliser le paramètre par défaut de l\'appli"</item>
     <item msgid="5112879855377353813">"Écouter via la prothèse auditive"</item>
     <item msgid="4853360663119482646">"Écouter via le haut-parleur du téléphone"</item>
   </string-array>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index aa86c0e..ff33344 100644
--- a/res/values-gl/arrays.xml
+++ b/res/values-gl/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decidir automaticamente"</item>
-    <item msgid="5112879855377353813">"Reproducir no dispositivo auditivo"</item>
-    <item msgid="4853360663119482646">"Reproducir no altofalante do teléfono"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Baixa"</item>
     <item msgid="2470925506985305429">"Baixa"</item>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index 67f2c2d..de15630 100644
--- a/res/values-gu/arrays.xml
+++ b/res/values-gu/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"ઑટોમૅટિક રીતે નક્કી કરો"</item>
+    <item msgid="3488687531285795335">"ઍપ ડિફૉલ્ટનો ઉપયોગ કરો"</item>
     <item msgid="5112879855377353813">"સાંભળવામાં મદદ આપતા યંત્રો પર ચલાવો"</item>
     <item msgid="4853360663119482646">"ફોનના સ્પીકર પર ચલાવો"</item>
   </string-array>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index 19d4e9c..3453830 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"अपने-आप तय करने की सुविधा"</item>
+    <item msgid="3488687531285795335">"ऐप्लिकेशन की डिफ़ॉल्ट सेटिंग का इस्तेमाल करें"</item>
     <item msgid="5112879855377353813">"कान की मशीन पर चलाएं"</item>
     <item msgid="4853360663119482646">"फ़ोन के स्पीकर पर चलाएं"</item>
   </string-array>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index 726aa21..b3545d5 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Odluči automatski"</item>
+    <item msgid="3488687531285795335">"Koristi zadanu vrijednost aplikacije"</item>
     <item msgid="5112879855377353813">"Pusti na slušnom uređaju"</item>
     <item msgid="4853360663119482646">"Pusti na telefonskom zvučniku"</item>
   </string-array>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index 07d98ba..787630e 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Automatikus döntés"</item>
+    <item msgid="3488687531285795335">"Az appok alapértelmezett beállításának használata"</item>
     <item msgid="5112879855377353813">"Lejátszás hallókészüléken"</item>
     <item msgid="4853360663119482646">"Lejátszás a telefon hangszóróján"</item>
   </string-array>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index 1711acd..c10f57b 100644
--- a/res/values-hy/arrays.xml
+++ b/res/values-hy/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Ավտոմատ որոշել"</item>
-    <item msgid="5112879855377353813">"Նվագարկել լսողական սարքում"</item>
-    <item msgid="4853360663119482646">"Նվագարկել հեռախոսի բարձրախոսում"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Թույլ"</item>
     <item msgid="2470925506985305429">"Թույլ"</item>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index 9ca2714..b1d921c 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Tentukan otomatis"</item>
+    <item msgid="3488687531285795335">"Gunakan default aplikasi"</item>
     <item msgid="5112879855377353813">"Putar di alat bantu dengar"</item>
     <item msgid="4853360663119482646">"Putar di speaker ponsel"</item>
   </string-array>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index 45a7a7f..49aa270 100644
--- a/res/values-is/arrays.xml
+++ b/res/values-is/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Ákveða sjálfkrafa"</item>
-    <item msgid="5112879855377353813">"Spila í heyrnartæki"</item>
-    <item msgid="4853360663119482646">"Spila í hátalara símans"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Lélegur"</item>
     <item msgid="2470925506985305429">"Lélegur"</item>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 3507426..921e7e0 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decidi automaticamente"</item>
-    <item msgid="5112879855377353813">"Riproduci su apparecchio acustico"</item>
-    <item msgid="4853360663119482646">"Riproduci su altoparlante del telefono"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Scadente"</item>
     <item msgid="2470925506985305429">"Scarsa"</item>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index dd129ce..c8c8de6 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"בחירה אוטומטית"</item>
+    <item msgid="3488687531285795335">"שימוש בברירת המחדל של האפליקציה"</item>
     <item msgid="5112879855377353813">"הפעלה במכשיר שמיעה"</item>
     <item msgid="4853360663119482646">"הפעלה ברמקול של הטלפון"</item>
   </string-array>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index 41af501..07a5c69 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"自動で判別"</item>
-    <item msgid="5112879855377353813">"補聴器で再生"</item>
-    <item msgid="4853360663119482646">"スマートフォンのスピーカーで再生"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"弱"</item>
     <item msgid="2470925506985305429">"弱"</item>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index 2e96a0c..18b88c2 100644
--- a/res/values-ka/arrays.xml
+++ b/res/values-ka/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"ავტომატური გადაწყვეტა"</item>
-    <item msgid="5112879855377353813">"სმენის აპარატში დაკვრა"</item>
-    <item msgid="4853360663119482646">"ტელეფონის დინამიკზე დაკვრა"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"სუსტი"</item>
     <item msgid="2470925506985305429">"ცუდი"</item>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index 8d65f0f..7e40a7b 100644
--- a/res/values-kk/arrays.xml
+++ b/res/values-kk/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Автоматты түрде шешу"</item>
+    <item msgid="3488687531285795335">"Қолданбаның әдепкі параметрлерін пайдалану"</item>
     <item msgid="5112879855377353813">"Есту аппаратында ойнату"</item>
     <item msgid="4853360663119482646">"Телефон динамигінде ойнату"</item>
   </string-array>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index a7f6060..74d9e5c 100644
--- a/res/values-km/arrays.xml
+++ b/res/values-km/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"សម្រេចចិត្តដោយស្វ័យប្រវត្តិ"</item>
+    <item msgid="3488687531285795335">"ប្រើលំនាំដើមកម្មវិធី"</item>
     <item msgid="5112879855377353813">"ចាក់នៅលើឧបករណ៍ស្តាប់"</item>
     <item msgid="4853360663119482646">"ចាក់នៅលើឧបករណ៍​បំពង​សំឡេង​ទូរសព្ទ"</item>
   </string-array>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index cb4fa86..b7b1ffc 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿರ್ಧರಿಸಿ"</item>
+    <item msgid="3488687531285795335">"ಆ್ಯಪ್ ಡೀಫಾಲ್ಟ್ ಬಳಸಿ"</item>
     <item msgid="5112879855377353813">"ಶ್ರವಣ ಸಾಧನದಲ್ಲಿ ಪ್ಲೇ ಮಾಡಿ"</item>
     <item msgid="4853360663119482646">"ಫೋನ್ ಸ್ಪೀಕರ್‌ನಲ್ಲಿ ಪ್ಲೇ ಮಾಡಿ"</item>
   </string-array>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index d656715..cf1f77d 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"자동으로 선택"</item>
+    <item msgid="3488687531285795335">"앱 기본값 사용"</item>
     <item msgid="5112879855377353813">"보청기에서 재생"</item>
     <item msgid="4853360663119482646">"휴대전화 스피커에서 재생"</item>
   </string-array>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index 74771d4..fc06b70 100644
--- a/res/values-ky/arrays.xml
+++ b/res/values-ky/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Автоматтык түрдө чечүү"</item>
+    <item msgid="3488687531285795335">"Колдонмонун демейки параметрлерин пайдалануу"</item>
     <item msgid="5112879855377353813">"Угуу аппаратында угузуу"</item>
     <item msgid="4853360663119482646">"Телефондун динамигинде угузуу"</item>
   </string-array>
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
index 9409b29..a1b07b9 100644
--- a/res/values-lo/arrays.xml
+++ b/res/values-lo/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"ຕັດສິນໃຈເລືອກໂດຍອັດຕະໂນມັດ"</item>
+    <item msgid="3488687531285795335">"ໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງແອັບ"</item>
     <item msgid="5112879855377353813">"ຫຼິ້ນຢູ່ອຸປະກອນຊ່ວຍຟັງ"</item>
     <item msgid="4853360663119482646">"ຫຼິ້ນຢູ່ລຳໂພງໂທລະສັບ"</item>
   </string-array>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index 2434c58..7315f49 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Nuspręsti automatiškai"</item>
+    <item msgid="3488687531285795335">"Naudoti numatytąją programą"</item>
     <item msgid="5112879855377353813">"Leisti klausos įrenginyje"</item>
     <item msgid="4853360663119482646">"Leisti telefono garsiakalbyje"</item>
   </string-array>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index dfaec02..aa1e0e1 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Noteikt automātiski"</item>
+    <item msgid="3488687531285795335">"Izmantot lietotnes noklusējuma iestatījumus"</item>
     <item msgid="5112879855377353813">"Atskaņot dzirdes aparātā"</item>
     <item msgid="4853360663119482646">"Atskaņot tālruņa skaļrunī"</item>
   </string-array>
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
index 6e85236..8128670 100644
--- a/res/values-mk/arrays.xml
+++ b/res/values-mk/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Одлучи автоматски"</item>
-    <item msgid="5112879855377353813">"Пушти на слушно помагало"</item>
-    <item msgid="4853360663119482646">"Пушти на звучник на телефонот"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Слаба"</item>
     <item msgid="2470925506985305429">"Слаб"</item>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index 529acba..2023360 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"സ്വയമേവ തീരുമാനിക്കുക"</item>
+    <item msgid="3488687531285795335">"ആപ്പിന്റെ ഡിഫോൾട്ട് മുൻഗണന ഉപയോഗിക്കുക"</item>
     <item msgid="5112879855377353813">"ശ്രവണ ഉപകരണത്തിൽ പ്ലേ ചെയ്യുക"</item>
     <item msgid="4853360663119482646">"ഫോൺ സ്പീക്കറിൽ പ്ലേ ചെയ്യുക"</item>
   </string-array>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index 7b10d4c..77912e9 100644
--- a/res/values-mn/arrays.xml
+++ b/res/values-mn/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Автоматаар шийдэх"</item>
+    <item msgid="3488687531285795335">"Аппын өгөгдмөлийг ашиглах"</item>
     <item msgid="5112879855377353813">"Сонсголын төхөөрөмжид тоглуулах"</item>
     <item msgid="4853360663119482646">"Утасны чанга яригчид тоглуулах"</item>
   </string-array>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index 1d774cc..11fc2c4 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"५"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"आपोआप ठरवा"</item>
+    <item msgid="3488687531285795335">"अ‍ॅपमधील डीफॉल्ट वापरा"</item>
     <item msgid="5112879855377353813">"श्रवणयंत्र डिव्हाइसवर प्ले करा"</item>
     <item msgid="4853360663119482646">"फोनच्या स्पीकरवर प्ले करा"</item>
   </string-array>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index be56453..a6cfb02 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Buat keputusan secara automatik"</item>
+    <item msgid="3488687531285795335">"Gunakan lalai apl"</item>
     <item msgid="5112879855377353813">"Main pada peranti pendengaran"</item>
     <item msgid="4853360663119482646">"Main pada pembesar suara telefon"</item>
   </string-array>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index 9589a38..1c2493d 100644
--- a/res/values-my/arrays.xml
+++ b/res/values-my/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"၅"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"အလိုအလျောက် ဆုံးဖြတ်ရန်"</item>
+    <item msgid="3488687531285795335">"အက်ပ်ကို မူလအတိုင်း သုံးရန်"</item>
     <item msgid="5112879855377353813">"နားကြားကိရိယာတွင် ဖွင့်ရန်"</item>
     <item msgid="4853360663119482646">"ဖုန်းစပီကာတွင် ဖွင့်ရန်"</item>
   </string-array>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index a619000..b5c7a75 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Fastslå automatisk"</item>
-    <item msgid="5112879855377353813">"Spill av på høreapparat"</item>
-    <item msgid="4853360663119482646">"Spill av på telefonhøyttaler"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Dårlig"</item>
     <item msgid="2470925506985305429">"Dårlig"</item>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index d1fd21b..992bd5b 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"५"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"स्वतः निर्णय लिने सुविधा"</item>
+    <item msgid="3488687531285795335">"एपको डिफल्ट सेटिङ प्रयोग गर्नुहोस्"</item>
     <item msgid="5112879855377353813">"हियरिङ डिभाइसमा प्ले गर्नुहोस्"</item>
     <item msgid="4853360663119482646">"फोनको स्पिकरमा प्ले गर्नुहोस्"</item>
   </string-array>
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index 0de5017..b00f9de 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Automatisch beslissen"</item>
+    <item msgid="3488687531285795335">"App-standaard gebruiken"</item>
     <item msgid="5112879855377353813">"Afspelen via hoortoestel"</item>
     <item msgid="4853360663119482646">"Afspelen via telefoonspeaker"</item>
   </string-array>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 4d8fa69..e839050 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"ସ୍ୱତଃ ନିଷ୍ପତ୍ତି ନିଅନ୍ତୁ"</item>
+    <item msgid="3488687531285795335">"ଆପ ଡିଫଲ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ"</item>
     <item msgid="5112879855377353813">"ହିଅରିଂ ଡିଭାଇସରେ ପ୍ଲେ କରନ୍ତୁ"</item>
     <item msgid="4853360663119482646">"ଫୋନ ସ୍ପିକରରେ ପ୍ଲେ କରନ୍ତୁ"</item>
   </string-array>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index c73a763..c803e47 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਫ਼ੈਸਲਾ ਕਰੋ"</item>
-    <item msgid="5112879855377353813">"ਸੁਣਨ ਵਾਲੇ ਡੀਵਾਈਸ \'ਤੇ ਚਲਾਓ"</item>
-    <item msgid="4853360663119482646">"ਫ਼ੋਨ ਦੇ ਸਪੀਕਰ \'ਤੇ ਚਲਾਓ"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"ਖ਼ਰਾਬ"</item>
     <item msgid="2470925506985305429">"ਕਮਜ਼ੋਰ"</item>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index a5e5c7b..d822c17 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decyduj automatycznie"</item>
+    <item msgid="3488687531285795335">"Użyj aplikacji domyślnej"</item>
     <item msgid="5112879855377353813">"Odtwarzaj na urządzeniu słuchowym"</item>
     <item msgid="4853360663119482646">"Odtwarzaj na głośniku telefonu"</item>
   </string-array>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index d781eb9..c144b2b 100644
--- a/res/values-pt-rBR/arrays.xml
+++ b/res/values-pt-rBR/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decidir automaticamente"</item>
+    <item msgid="3488687531285795335">"Usar o padrão do app"</item>
     <item msgid="5112879855377353813">"Tocar no aparelho auditivo"</item>
     <item msgid="4853360663119482646">"Tocar no alto-falante do smartphone"</item>
   </string-array>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index 2d9ce83..521acfc 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -78,7 +78,7 @@
     <item msgid="6096962300722555553">"Fora do intervalo"</item>
   </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
-    <item msgid="4792793579224104167">"Utilizar a predefinição do sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
+    <item msgid="4792793579224104167">"Usar a predefinição do sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
     <item msgid="4804155564025402919">"2"</item>
     <item msgid="7123296338505723878">"3"</item>
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decidir automaticamente"</item>
+    <item msgid="3488687531285795335">"Usar predefinição da app"</item>
     <item msgid="5112879855377353813">"Reproduzir no dispositivo auditivo"</item>
     <item msgid="4853360663119482646">"Reproduzir no altifalante do telemóvel"</item>
   </string-array>
@@ -280,7 +280,7 @@
     <item msgid="437655393941385937">"Assistir captura de ecrã"</item>
     <item msgid="973363520315356844">"Ler estado do telemóvel"</item>
     <item msgid="1203157739257425062">"Adicionar correio de voz"</item>
-    <item msgid="9143978647977300187">"Utilizar SIP"</item>
+    <item msgid="9143978647977300187">"Usar SIP"</item>
     <item msgid="3053060162752878562">"Processar chamada feita"</item>
     <item msgid="4480721672278100858">"Impressão digital"</item>
     <item msgid="7883743426029759112">"Sensores de corpo"</item>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index d781eb9..c144b2b 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decidir automaticamente"</item>
+    <item msgid="3488687531285795335">"Usar o padrão do app"</item>
     <item msgid="5112879855377353813">"Tocar no aparelho auditivo"</item>
     <item msgid="4853360663119482646">"Tocar no alto-falante do smartphone"</item>
   </string-array>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index 32ea91d..3c35c18 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Decide automat"</item>
+    <item msgid="3488687531285795335">"Folosește setarea prestabilită a aplicației"</item>
     <item msgid="5112879855377353813">"Redă pe aparatul auditiv"</item>
     <item msgid="4853360663119482646">"Redă în difuzorul telefonului"</item>
   </string-array>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index 5d62773..ed18bab 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Автоматическое определение"</item>
+    <item msgid="3488687531285795335">"Использовать настройки по умолчанию"</item>
     <item msgid="5112879855377353813">"Воспроизведение через слуховой аппарат"</item>
     <item msgid="4853360663119482646">"Воспроизведение через динамик телефона"</item>
   </string-array>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index 9c290c7..28773cd 100644
--- a/res/values-si/arrays.xml
+++ b/res/values-si/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"ස්වයංක්‍රීයව තීරණය කරන්න"</item>
-    <item msgid="5112879855377353813">"ශ්‍රවණ උපාංගයෙහි වාදනය කරන්න"</item>
-    <item msgid="4853360663119482646">"දුරකථන ස්පීකරයෙහි වාදනය කරන්න"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"දුර්වල"</item>
     <item msgid="2470925506985305429">"දුර්වල"</item>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index 4515d76..74b137a 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Rozhodnúť automaticky"</item>
+    <item msgid="3488687531285795335">"Použiť predvolené nastavenie aplikácie"</item>
     <item msgid="5112879855377353813">"Prehrať v načúvacom zariadení"</item>
     <item msgid="4853360663119482646">"Prehrať v reproduktore telefónu"</item>
   </string-array>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index 65947c9..289dfca 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Samodejno odločanje"</item>
+    <item msgid="3488687531285795335">"Uporaba privzete nastavitve aplikacije"</item>
     <item msgid="5112879855377353813">"Predvajanje v slušnem aparatu"</item>
     <item msgid="4853360663119482646">"Predvajanje v zvočniku telefona"</item>
   </string-array>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index 306d6eb..5111be2 100644
--- a/res/values-sq/arrays.xml
+++ b/res/values-sq/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Vendos automatikisht"</item>
+    <item msgid="3488687531285795335">"Përdor parazgjedhjen e aplikacionit"</item>
     <item msgid="5112879855377353813">"Luaj në pajisjen e dëgjimit"</item>
     <item msgid="4853360663119482646">"Luaj në altoparlantin e telefonit"</item>
   </string-array>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index f388666..50cfaf4 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Одлучи аутоматски"</item>
+    <item msgid="3488687531285795335">"Користи подразумевану апликацију"</item>
     <item msgid="5112879855377353813">"Пусти на слушном апарату"</item>
     <item msgid="4853360663119482646">"Пусти на звучнику телефона"</item>
   </string-array>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index c9a931d..dc1b84e 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Välj automatiskt"</item>
-    <item msgid="5112879855377353813">"Spela upp i hörapparaten"</item>
-    <item msgid="4853360663119482646">"Spela upp på telefonens högtalare"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Dålig"</item>
     <item msgid="2470925506985305429">"Dålig"</item>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index 29fbcdb..375f154 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Amua kiotomatiki"</item>
+    <item msgid="3488687531285795335">"Tumia programu chaguomsingi"</item>
     <item msgid="5112879855377353813">"Cheza kwenye vifaa vya kusaidia kusikia"</item>
     <item msgid="4853360663119482646">"Cheza kwenye spika ya simu"</item>
   </string-array>
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
index 325e76b..fc971d8 100644
--- a/res/values-ta/arrays.xml
+++ b/res/values-ta/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"தானாகவே முடிவுசெய்தல்"</item>
-    <item msgid="5112879855377353813">"செவித்துணைக் கருவியில் இயக்குதல்"</item>
-    <item msgid="4853360663119482646">"மொபைல் ஸ்பீக்கரில் இயக்குதல்"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"மோசம்"</item>
     <item msgid="2470925506985305429">"மோசம்"</item>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 1377ba7..909e118 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"ఆటోమేటిక్‌గా నిర్ణయించండి"</item>
+    <item msgid="3488687531285795335">"యాప్ ఆటోమేటిక్ సెట్టింగ్‌ను ఉపయోగించండి"</item>
     <item msgid="5112879855377353813">"వినికిడి పరికరంలో ప్లే చేయండి"</item>
     <item msgid="4853360663119482646">"ఫోన్ స్పీకర్‌లో ప్లే చేయండి"</item>
   </string-array>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index 84154e1..9fc5b4c 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"ตัดสินใจเลือกโดยอัตโนมัติ"</item>
+    <item msgid="3488687531285795335">"ใช้ค่าเริ่มต้นของแอป"</item>
     <item msgid="5112879855377353813">"เล่นในเครื่องช่วยฟัง"</item>
     <item msgid="4853360663119482646">"เล่นในลำโพงโทรศัพท์"</item>
   </string-array>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index e0fe8f4..f9ef5e2 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Awtomatikong magpasya"</item>
+    <item msgid="3488687531285795335">"Gamitin ang default ng app"</item>
     <item msgid="5112879855377353813">"I-play sa hearing device"</item>
     <item msgid="4853360663119482646">"I-play sa speaker ng telepono"</item>
   </string-array>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index af8ac4d..9c3ee4b 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Otomatik olarak karar ver"</item>
-    <item msgid="5112879855377353813">"İşitme cihazında oynat"</item>
-    <item msgid="4853360663119482646">"Telefon hoparlöründe oynat"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Yetersiz"</item>
     <item msgid="2470925506985305429">"Zayıf"</item>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index d04a8cc..5c7a41a 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Вирішувати автоматично"</item>
-    <item msgid="5112879855377353813">"Відтворювати на слуховому апараті"</item>
-    <item msgid="4853360663119482646">"Відтворювати через динамік телефона"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"Слабкий"</item>
     <item msgid="2470925506985305429">"Слабкий"</item>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index 166a0d1..cd76e00 100644
--- a/res/values-ur/arrays.xml
+++ b/res/values-ur/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"خودکار طور پر فیصلہ کریں"</item>
+    <item msgid="3488687531285795335">"ایپ کا ڈیفالٹ استعمال کریں"</item>
     <item msgid="5112879855377353813">"سماعتی آلے پر چلائیں"</item>
     <item msgid="4853360663119482646">"فون اسپیکر پر چلائیں"</item>
   </string-array>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index 4c381d5..51da1f0 100644
--- a/res/values-uz/arrays.xml
+++ b/res/values-uz/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Avtomatik tanlansin"</item>
+    <item msgid="3488687531285795335">"Birlamchi sozlamani ishlatish"</item>
     <item msgid="5112879855377353813">"Eshitish qurilmasida ijro qilish"</item>
     <item msgid="4853360663119482646">"Telefon karnayida ijro qilish"</item>
   </string-array>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index 4d4cbd0..afbf7b3 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Tự động quyết định"</item>
+    <item msgid="3488687531285795335">"Sử dụng chế độ mặc định của ứng dụng"</item>
     <item msgid="5112879855377353813">"Phát trên thiết bị trợ thính"</item>
     <item msgid="4853360663119482646">"Phát trên loa điện thoại"</item>
   </string-array>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index 8d122da..11b61e1 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"自动决定"</item>
+    <item msgid="3488687531285795335">"使用应用默认设置"</item>
     <item msgid="5112879855377353813">"在助听设备上播放"</item>
     <item msgid="4853360663119482646">"用手机扬声器播放"</item>
   </string-array>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index e67ced9..2d63855 100644
--- a/res/values-zh-rHK/arrays.xml
+++ b/res/values-zh-rHK/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"自動決定"</item>
-    <item msgid="5112879855377353813">"透過助聽器播放"</item>
-    <item msgid="4853360663119482646">"透過手機喇叭播放"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"低"</item>
     <item msgid="2470925506985305429">"弱"</item>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 4b67ddb..7cc3942 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -85,11 +85,7 @@
     <item msgid="9100937224980838123">"4"</item>
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
-  <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"自動決定"</item>
-    <item msgid="5112879855377353813">"透過助聽器播放"</item>
-    <item msgid="4853360663119482646">"透過手機喇叭播放"</item>
-  </string-array>
+    <!-- no translation found for bluetooth_audio_routing_titles:0 (3488687531285795335) -->
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"差"</item>
     <item msgid="2470925506985305429">"差"</item>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index 32b319a..fbea6d2 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -86,7 +86,7 @@
     <item msgid="6702740528496186521">"5"</item>
   </string-array>
   <string-array name="bluetooth_audio_routing_titles">
-    <item msgid="926853492406127221">"Nquma ngokuzenzekelayo"</item>
+    <item msgid="3488687531285795335">"Sebenzisa okuzenzakalelayo kwe-app"</item>
     <item msgid="5112879855377353813">"Dlala kudivayisi yokuzwa"</item>
     <item msgid="4853360663119482646">"Dlala kusipikha sefoni"</item>
   </string-array>
diff --git a/res/values/config.xml b/res/values/config.xml
index ef786be..ee727bc 100755
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -704,4 +704,10 @@
 
     <!-- Whether to display Cloned Apps page in Settings (Settings > Apps > Cloned Apps).-->
     <bool name="config_cloned_apps_page_enabled">false</bool>
+
+    <!-- Certificates of apps which are allowed to use activity embedding with Settings.-->
+    <string-array name="config_known_host_certs" translatable="false">
+        <item></item>
+    </string-array>
+
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 0216d28..c9bd044 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -147,7 +147,7 @@
     <string name="bluetooth_call_title">Audio during calls</string>
     <!-- Bluetooth audio output settings. Title of the option managing media audio path. [CHAR LIMIT=30] -->
     <string name="bluetooth_media_title">Media</string>
-    <!-- Bluetooth audio output settings. Title of the option managing system sounds related audio path. [CHAR LIMIT=30] -->
+    <!-- Bluetooth audio output settings. Title of the option managing system sounds related audio path. [CHAR LIMIT=60] -->
     <string name="bluetooth_system_sounds_title">Notifications and other system sounds</string>
     <!-- Description for text in accessibility hearing aids footer. [CHAR LIMIT=NONE] -->
     <string name="bluetooth_audio_routing_footer_summary">By default, audio output is determined by individual apps</string>
@@ -5272,7 +5272,7 @@
     <!-- Title for usage time that full charge lasts. [CHAR LIMIT=60] -->
     <string name="battery_full_charge_last">Full charge lasts about</string>
     <!-- Description for text in battery footer. [CHAR LIMIT=NONE] -->
-    <string name="battery_footer_summary">Battery usage data is approximate and can change based on usage.</string>
+    <string name="battery_footer_summary">Remaining battery life is approximate and can change based on usage</string>
     <!-- Title for battery usage amount by this app. [CHAR LIMIT=80] -->
     <string name="battery_detail_power_usage">Battery usage</string>
 
@@ -7611,8 +7611,8 @@
     <!-- Configure lock screen: Title for the option of unlocking directly to home. [CHAR LIMIT=30] -->
     <string name="lockscreen_bypass_title">Skip lock screen</string>
 
-    <!-- Configure lock screen: Summary for the option of unlocking directly to home. [CHAR LIMIT=100] -->
-    <string name="lockscreen_bypass_summary">After unlocking, go directly to last used screen</string>
+    <!-- Configure lock screen: Summary for the option of unlocking directly to home. [CHAR LIMIT=150] -->
+    <string name="lockscreen_bypass_summary">After unlocking, go directly to last used screen. Notifications won’t show on lock screen. Swipe down from top to see them.</string>
 
     <!-- Configure lock screen: Search keywords for the option of unlocking directly to home. [CHAR LIMIT=100] -->
     <string name="keywords_lockscreen_bypass">Lock screen, Lockscreen, Skip, Bypass</string>
diff --git a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
index 8626c52..57047f9 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardActivity.java
@@ -30,7 +30,6 @@
 import com.android.settings.search.actionbar.SearchMenuController;
 import com.android.settings.support.actionbar.HelpResourceProvider;
 import com.android.settingslib.core.instrumentation.Instrumentable;
-import com.android.settingslib.transition.SettingsTransitionHelper;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
 import com.google.android.setupdesign.util.ThemeHelper;
@@ -84,7 +83,6 @@
                         : Instrumentable.METRICS_CATEGORY_UNKNOWN)
                 .setExtras(SetupWizardUtils.copyLifecycleExtra(getIntent().getExtras(),
                         new Bundle()))
-                .setTransitionType(SettingsTransitionHelper.TransitionType.TRANSITION_FADE)
                 .launch();
         return true;
     }
diff --git a/src/com/android/settings/applications/AppStoreUtil.java b/src/com/android/settings/applications/AppStoreUtil.java
index b18a68f..b73b14a 100644
--- a/src/com/android/settings/applications/AppStoreUtil.java
+++ b/src/com/android/settings/applications/AppStoreUtil.java
@@ -53,7 +53,8 @@
             // so we choose to ignore this when supplied by a non-system app.
             String originatingPackageName = source.getOriginatingPackageName();
             String initiatingPackageName = source.getInitiatingPackageName();
-            if (originatingPackageName != null && initiatingPackageName != null) {
+            if (originatingPackageName != null && initiatingPackageName != null
+                    && !initiatingPackageName.equals("com.android.shell")) {
                 ApplicationInfo ai = context.getPackageManager().getApplicationInfo(
                         initiatingPackageName, 0);
                 if ((ai.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
diff --git a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
index 3ec7782..4c80f54 100644
--- a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
+++ b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
@@ -325,9 +325,9 @@
             icon = mIconFactory.getBadgedIcon(appInfo, getUser());
         }
 
-        // If there is no title then don't show anything.
+        // If there is no title then show the package manager.
         if (TextUtils.isEmpty(title)) {
-            return null;
+            title = firstServiceInfo.packageName;
         }
 
         return addProviderPreference(
diff --git a/src/com/android/settings/bluetooth/HearingDeviceAudioRoutingBasePreferenceController.java b/src/com/android/settings/bluetooth/HearingDeviceAudioRoutingBasePreferenceController.java
index 84412da..e93863a 100644
--- a/src/com/android/settings/bluetooth/HearingDeviceAudioRoutingBasePreferenceController.java
+++ b/src/com/android/settings/bluetooth/HearingDeviceAudioRoutingBasePreferenceController.java
@@ -20,24 +20,20 @@
 import android.content.Context;
 import android.media.AudioAttributes;
 import android.media.AudioDeviceAttributes;
-import android.media.AudioDeviceInfo;
-import android.media.AudioManager;
 import android.media.audiopolicy.AudioProductStrategy;
 import android.util.Log;
 
-import androidx.annotation.IntDef;
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
+import com.android.settingslib.bluetooth.HearingAidAudioRoutingHelper;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.primitives.Ints;
 
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.util.ArrayList;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -49,16 +45,21 @@
         BasePreferenceController implements Preference.OnPreferenceChangeListener {
 
     private static final String TAG = "HARoutingBasePreferenceController";
+    private static final boolean DEBUG = false;
 
-    private static final AudioDeviceAttributes DEVICE_SPEAKER_OUT = new AudioDeviceAttributes(
-            AudioDeviceAttributes.ROLE_OUTPUT, AudioDeviceInfo.TYPE_BUILTIN_SPEAKER, "");
-
-    private final AudioManager mAudioManager;
+    private final HearingAidAudioRoutingHelper mHelper;
 
     public HearingDeviceAudioRoutingBasePreferenceController(Context context,
             String preferenceKey) {
         super(context, preferenceKey);
-        mAudioManager = mContext.getSystemService(AudioManager.class);
+        mHelper = new HearingAidAudioRoutingHelper(context);
+    }
+
+    @VisibleForTesting
+    public HearingDeviceAudioRoutingBasePreferenceController(Context context,
+            String preferenceKey, HearingAidAudioRoutingHelper helper) {
+        super(context, preferenceKey);
+        mHelper = helper;
     }
 
     @Override
@@ -77,48 +78,46 @@
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
-        final ListPreference listPreference = (ListPreference) preference;
         final Integer routingValue = Ints.tryParse((String) newValue);
-        final AudioDeviceAttributes hearingDeviceAttribute = new AudioDeviceAttributes(
-                AudioDeviceAttributes.ROLE_OUTPUT,
-                AudioDeviceInfo.TYPE_HEARING_AID,
-                getHearingDevice().getAddress());
-        final List<AudioProductStrategy> supportedStrategies = getSupportedStrategies(
-                getSupportedAttributeList());
-
-        boolean status = false;
-        if (routingValue != null) {
-            switch (routingValue) {
-                case RoutingValue.AUTO:
-                    status = removePreferredDeviceForStrategies(supportedStrategies);
-                    break;
-                case RoutingValue.HEARING_DEVICE:
-                    removePreferredDeviceForStrategies(supportedStrategies);
-                    status = setPreferredDeviceForStrategies(supportedStrategies,
-                            hearingDeviceAttribute);
-                    break;
-                case RoutingValue.DEVICE_SPEAKER:
-                    removePreferredDeviceForStrategies(supportedStrategies);
-                    status = setPreferredDeviceForStrategies(supportedStrategies,
-                            DEVICE_SPEAKER_OUT);
-                    break;
-                default:
-                    throw new IllegalArgumentException("Unexpected routingValue: " + routingValue);
-            }
-        }
-        if (!status) {
-            Log.w(TAG, "routingMode: " + listPreference.getKey() + "routingValue: " + routingValue
-                    + " fail to configure AudioProductStrategy");
-        }
 
         saveRoutingValue(mContext, routingValue);
-        updateState(listPreference);
+        trySetAudioRoutingConfig(getSupportedAttributeList(), getHearingDevice(), routingValue);
+
         return true;
     }
 
+    private void trySetAudioRoutingConfig(int[] audioAttributes,
+            CachedBluetoothDevice hearingDevice,
+            @HearingAidAudioRoutingConstants.RoutingValue int routingValue) {
+        final List<AudioProductStrategy> supportedStrategies = mHelper.getSupportedStrategies(
+                audioAttributes);
+        final AudioDeviceAttributes hearingDeviceAttributes =
+                mHelper.getMatchedHearingDeviceAttributes(hearingDevice);
+        if (hearingDeviceAttributes == null) {
+            if (DEBUG) {
+                Log.d(TAG,
+                        "Can not find expected AudioDeviceAttributes to config audio routing "
+                                + "maybe device is offline: "
+                                + hearingDevice.getDevice().getAnonymizedAddress());
+            }
+            return;
+        }
+
+        final boolean status = mHelper.setPreferredDeviceRoutingStrategies(supportedStrategies,
+                hearingDeviceAttributes, routingValue);
+
+        if (!status) {
+            final List<String> strategiesName = supportedStrategies.stream()
+                    .map(AudioProductStrategy::getName)
+                    .collect(Collectors.toList());
+            Log.w(TAG, "routingMode: " + strategiesName + " routingValue: " + routingValue
+                    + " fail to configure AudioProductStrategy");
+        }
+    }
+
     /**
-     * Gets a list of usage value defined in {@link AudioAttributes} that is used to configure
-     * audio routing via {@link AudioProductStrategy}.
+     * Gets a list of usage values defined in {@link AudioAttributes} that are used to identify
+     * {@link AudioProductStrategy} to configure audio routing.
      */
     protected abstract int[] getSupportedAttributeList();
 
@@ -129,77 +128,19 @@
     protected abstract CachedBluetoothDevice getHearingDevice();
 
     /**
-     * Saves the {@link RoutingValue}.
+     * Saves the routing value.
      *
      * @param context the valid context used to get the {@link ContentResolver}
-     * @param routingValue the value defined in {@link RoutingValue}
+     * @param routingValue one of the value defined in
+     *                     {@link HearingAidAudioRoutingConstants.RoutingValue}
      */
     protected abstract void saveRoutingValue(Context context, int routingValue);
 
     /**
-     * Restores the {@link RoutingValue} and used to reflect status on ListPreference.
+     * Restores the routing value and used to reflect status on ListPreference.
      *
      * @param context the valid context used to get the {@link ContentResolver}
-     * @return one of {@link RoutingValue}
+     * @return one of the value defined in {@link HearingAidAudioRoutingConstants.RoutingValue}
      */
     protected abstract int restoreRoutingValue(Context context);
-
-    private List<AudioProductStrategy> getSupportedStrategies(int[] attributeSdkUsageList) {
-        final List<AudioAttributes> audioAttrList = new ArrayList<>(attributeSdkUsageList.length);
-        for (int attributeSdkUsage : attributeSdkUsageList) {
-            audioAttrList.add(new AudioAttributes.Builder().setUsage(attributeSdkUsage).build());
-        }
-
-        final List<AudioProductStrategy> allStrategies = getAudioProductStrategies();
-        final List<AudioProductStrategy> supportedStrategies = new ArrayList<>();
-        for (AudioProductStrategy strategy : allStrategies) {
-            for (AudioAttributes audioAttr : audioAttrList) {
-                if (strategy.supportsAudioAttributes(audioAttr)) {
-                    supportedStrategies.add(strategy);
-                }
-            }
-        }
-
-        return supportedStrategies.stream().distinct().collect(Collectors.toList());
-    }
-
-    @VisibleForTesting
-    List<AudioProductStrategy> getAudioProductStrategies() {
-        return AudioManager.getAudioProductStrategies();
-    }
-
-    @VisibleForTesting
-    boolean setPreferredDeviceForStrategies(List<AudioProductStrategy> strategies,
-            AudioDeviceAttributes audioDevice) {
-        boolean status = true;
-        for (AudioProductStrategy strategy : strategies) {
-            status &= mAudioManager.setPreferredDeviceForStrategy(strategy, audioDevice);
-        }
-
-        return status;
-    }
-
-    @VisibleForTesting
-    boolean removePreferredDeviceForStrategies(List<AudioProductStrategy> strategies) {
-        boolean status = true;
-        for (AudioProductStrategy strategy : strategies) {
-            status &= mAudioManager.removePreferredDeviceForStrategy(strategy);
-        }
-
-        return status;
-    }
-
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef({
-            RoutingValue.AUTO,
-            RoutingValue.HEARING_DEVICE,
-            RoutingValue.DEVICE_SPEAKER,
-    })
-
-    @VisibleForTesting
-    protected @interface RoutingValue {
-        int AUTO = 0;
-        int HEARING_DEVICE = 1;
-        int DEVICE_SPEAKER = 2;
-    }
 }
diff --git a/src/com/android/settings/bluetooth/HearingDeviceCallRoutingPreferenceController.java b/src/com/android/settings/bluetooth/HearingDeviceCallRoutingPreferenceController.java
index 8daa738..ea5ba8b 100644
--- a/src/com/android/settings/bluetooth/HearingDeviceCallRoutingPreferenceController.java
+++ b/src/com/android/settings/bluetooth/HearingDeviceCallRoutingPreferenceController.java
@@ -17,10 +17,10 @@
 package com.android.settings.bluetooth;
 
 import android.content.Context;
-import android.media.AudioAttributes;
 import android.provider.Settings;
 
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
 
 /**
  * The controller of the hearing device call routing list preference.
@@ -45,9 +45,7 @@
 
     @Override
     protected int[] getSupportedAttributeList() {
-        return new int[]{
-                AudioAttributes.USAGE_VOICE_COMMUNICATION,
-                AudioAttributes.USAGE_VOICE_COMMUNICATION_SIGNALLING};
+        return HearingAidAudioRoutingConstants.CALL_ROUTING_ATTRIBUTES;
     }
 
     @Override
@@ -64,6 +62,7 @@
     @Override
     protected int restoreRoutingValue(Context context) {
         return Settings.Secure.getInt(context.getContentResolver(),
-                Settings.Secure.HEARING_AID_CALL_ROUTING, RoutingValue.AUTO);
+                Settings.Secure.HEARING_AID_CALL_ROUTING,
+                HearingAidAudioRoutingConstants.RoutingValue.AUTO);
     }
 }
diff --git a/src/com/android/settings/bluetooth/HearingDeviceMediaRoutingPreferenceController.java b/src/com/android/settings/bluetooth/HearingDeviceMediaRoutingPreferenceController.java
index 4e61346..1ea36c7 100644
--- a/src/com/android/settings/bluetooth/HearingDeviceMediaRoutingPreferenceController.java
+++ b/src/com/android/settings/bluetooth/HearingDeviceMediaRoutingPreferenceController.java
@@ -17,10 +17,10 @@
 package com.android.settings.bluetooth;
 
 import android.content.Context;
-import android.media.AudioAttributes;
 import android.provider.Settings;
 
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
 
 /**
  * The controller of the hearing device media routing list preference.
@@ -45,9 +45,8 @@
 
     @Override
     protected int[] getSupportedAttributeList() {
-        return new int[]{
-                AudioAttributes.USAGE_MEDIA,
-                AudioAttributes.USAGE_GAME};
+        return HearingAidAudioRoutingConstants.MEDIA_ROUTING_ATTRIBUTES;
+
     }
 
     @Override
@@ -64,6 +63,7 @@
     @Override
     protected int restoreRoutingValue(Context context) {
         return Settings.Secure.getInt(context.getContentResolver(),
-                Settings.Secure.HEARING_AID_MEDIA_ROUTING, RoutingValue.AUTO);
+                Settings.Secure.HEARING_AID_MEDIA_ROUTING,
+                HearingAidAudioRoutingConstants.RoutingValue.AUTO);
     }
 }
diff --git a/src/com/android/settings/bluetooth/HearingDeviceRingtoneRoutingPreferenceController.java b/src/com/android/settings/bluetooth/HearingDeviceRingtoneRoutingPreferenceController.java
index 325d394..006cb6b 100644
--- a/src/com/android/settings/bluetooth/HearingDeviceRingtoneRoutingPreferenceController.java
+++ b/src/com/android/settings/bluetooth/HearingDeviceRingtoneRoutingPreferenceController.java
@@ -17,10 +17,10 @@
 package com.android.settings.bluetooth;
 
 import android.content.Context;
-import android.media.AudioAttributes;
 import android.provider.Settings;
 
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
 
 /**
  * The controller of the hearing device ringtone routing list preference.
@@ -45,7 +45,8 @@
 
     @Override
     protected int[] getSupportedAttributeList() {
-        return new int[] {AudioAttributes.USAGE_NOTIFICATION_RINGTONE};
+        return HearingAidAudioRoutingConstants.RINGTONE_ROUTING_ATTRIBUTE;
+
     }
 
     @Override
@@ -62,6 +63,7 @@
     @Override
     protected int restoreRoutingValue(Context context) {
         return Settings.Secure.getInt(context.getContentResolver(),
-                Settings.Secure.HEARING_AID_RINGTONE_ROUTING, RoutingValue.AUTO);
+                Settings.Secure.HEARING_AID_RINGTONE_ROUTING,
+                HearingAidAudioRoutingConstants.RoutingValue.AUTO);
     }
 }
diff --git a/src/com/android/settings/bluetooth/HearingDeviceSystemSoundsRoutingPreferenceController.java b/src/com/android/settings/bluetooth/HearingDeviceSystemSoundsRoutingPreferenceController.java
index 19de713..a66cfab 100644
--- a/src/com/android/settings/bluetooth/HearingDeviceSystemSoundsRoutingPreferenceController.java
+++ b/src/com/android/settings/bluetooth/HearingDeviceSystemSoundsRoutingPreferenceController.java
@@ -17,10 +17,10 @@
 package com.android.settings.bluetooth;
 
 import android.content.Context;
-import android.media.AudioAttributes;
 import android.provider.Settings;
 
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
 
 /**
  * The controller of the hearing device system sounds routing list preference.
@@ -46,14 +46,8 @@
 
     @Override
     protected int[] getSupportedAttributeList() {
-        return new int[]{
-                AudioAttributes.USAGE_ALARM,
-                AudioAttributes.USAGE_NOTIFICATION,
-                AudioAttributes.USAGE_NOTIFICATION_EVENT,
-                AudioAttributes.USAGE_ASSISTANCE_ACCESSIBILITY,
-                AudioAttributes.USAGE_ASSISTANCE_NAVIGATION_GUIDANCE,
-                AudioAttributes.USAGE_ASSISTANCE_SONIFICATION,
-                AudioAttributes.USAGE_ASSISTANT};
+        return HearingAidAudioRoutingConstants.SYSTEM_SOUNDS_ROUTING_ATTRIBUTES;
+
     }
 
     @Override
@@ -71,6 +65,7 @@
     @Override
     protected int restoreRoutingValue(Context context) {
         return Settings.Secure.getInt(context.getContentResolver(),
-                Settings.Secure.HEARING_AID_SYSTEM_SOUNDS_ROUTING, RoutingValue.AUTO);
+                Settings.Secure.HEARING_AID_SYSTEM_SOUNDS_ROUTING,
+                HearingAidAudioRoutingConstants.RoutingValue.AUTO);
     }
 }
diff --git a/src/com/android/settings/core/SettingsBaseActivity.java b/src/com/android/settings/core/SettingsBaseActivity.java
index b4380ab..ff84a3f 100644
--- a/src/com/android/settings/core/SettingsBaseActivity.java
+++ b/src/com/android/settings/core/SettingsBaseActivity.java
@@ -50,6 +50,7 @@
 import com.google.android.material.appbar.CollapsingToolbarLayout;
 import com.google.android.material.resources.TextAppearanceConfig;
 import com.google.android.setupcompat.util.WizardManagerHelper;
+import com.google.android.setupdesign.transition.TransitionHelper;
 import com.google.android.setupdesign.util.ThemeHelper;
 
 /** Base activity for Settings pages */
@@ -77,6 +78,11 @@
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
+        final boolean isAnySetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
+        if (isAnySetupWizard) {
+            TransitionHelper.applyForwardTransition(this);
+            TransitionHelper.applyBackwardTransition(this);
+        }
         super.onCreate(savedInstanceState);
         if (isFinishing()) {
             return;
@@ -97,7 +103,6 @@
             requestWindowFeature(Window.FEATURE_NO_TITLE);
         }
         // Apply SetupWizard light theme during setup flow. This is for SubSettings pages.
-        final boolean isAnySetupWizard = WizardManagerHelper.isAnySetupWizard(getIntent());
         if (isAnySetupWizard && this instanceof SubSettings) {
             setTheme(SetupWizardUtils.getTheme(this, getIntent()));
             setTheme(R.style.SettingsPreferenceTheme_SetupWizard);
diff --git a/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceController.java b/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceController.java
index 2c06a51..96ca4e5 100644
--- a/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceController.java
+++ b/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceController.java
@@ -50,7 +50,7 @@
         final Preference preference = screen.findPreference(getPreferenceKey());
         if (preference != null) {
             preference.setOnPreferenceClickListener(preference1 -> {
-                final Intent intent = new Intent(Intent.ACTION_SET_WALLPAPER);
+                final Intent intent = CustomizableLockScreenUtils.newIntent();
                 final String packageName =
                         mContext.getString(R.string.config_wallpaper_picker_package);
                 if (!TextUtils.isEmpty(packageName)) {
diff --git a/src/com/android/settings/display/CustomizableLockScreenUtils.java b/src/com/android/settings/display/CustomizableLockScreenUtils.java
index 2e9f53d..d945652 100644
--- a/src/com/android/settings/display/CustomizableLockScreenUtils.java
+++ b/src/com/android/settings/display/CustomizableLockScreenUtils.java
@@ -18,6 +18,8 @@
 
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.database.Cursor;
 import android.net.Uri;
 import android.text.TextUtils;
@@ -67,6 +69,10 @@
      * <p>This is a slow, blocking call that shouldn't be made on the main thread.
      */
     public static boolean isFeatureEnabled(Context context) {
+        if (!isWallpaperPickerInstalled(context)) {
+            return false;
+        }
+
         try (Cursor cursor = context.getContentResolver().query(
                 FLAGS_URI,
                 null,
@@ -151,4 +157,17 @@
             return null;
         }
     }
+
+    /**
+     * Returns a new {@link Intent} that can be used to start the wallpaper picker
+     * activity.
+     */
+    public static Intent newIntent() {
+        return new Intent(Intent.ACTION_SET_WALLPAPER);
+    }
+
+    private static boolean isWallpaperPickerInstalled(Context context) {
+        final PackageManager packageManager = context.getPackageManager();
+        return newIntent().resolveActivity(packageManager) != null;
+    }
 }
diff --git a/src/com/android/settings/localepicker/LocaleFeatureProviderImpl.java b/src/com/android/settings/localepicker/LocaleFeatureProviderImpl.java
index b6c21db..0af9d2f 100644
--- a/src/com/android/settings/localepicker/LocaleFeatureProviderImpl.java
+++ b/src/com/android/settings/localepicker/LocaleFeatureProviderImpl.java
@@ -27,9 +27,19 @@
     @Override
     public String getLocaleNames() {
         final LocaleList locales = LocalePicker.getLocales();
-        Locale[] arrLocalesWithoutExtension = new Locale[locales.size()];
-        for (int i = 0; i < locales.size(); i++) {
-            arrLocalesWithoutExtension[i] = locales.get(i).stripExtensions();
+        return getLocaleNames(locales);
+    }
+
+    /**
+     * Returns displayable string of inputted locales.
+     */
+    public String getLocaleNames(LocaleList inputLocales) {
+        if (inputLocales.isEmpty()) {
+            return "";
+        }
+        Locale[] arrLocalesWithoutExtension = new Locale[inputLocales.size()];
+        for (int i = 0; i < inputLocales.size(); i++) {
+            arrLocalesWithoutExtension[i] = inputLocales.get(i).stripExtensions();
         }
         final Locale displayLocale = Locale.getDefault();
         return LocaleHelper.toSentenceCase(
diff --git a/src/com/android/settings/network/MobileNetworkRepository.java b/src/com/android/settings/network/MobileNetworkRepository.java
index 1e57c48..bec65e2 100644
--- a/src/com/android/settings/network/MobileNetworkRepository.java
+++ b/src/com/android/settings/network/MobileNetworkRepository.java
@@ -111,8 +111,12 @@
     private Map<Integer, SubscriptionInfo> mSubscriptionInfoMap = new ArrayMap<>();
     private Map<Integer, TelephonyManager> mTelephonyManagerMap = new HashMap<>();
     private Map<Integer, PhoneCallStateTelephonyCallback> mTelephonyCallbackMap = new HashMap<>();
-    private BroadcastReceiver mDataSubscriptionChangedReceiver = null;
-
+    private BroadcastReceiver mDataSubscriptionChangedReceiver = new BroadcastReceiver() {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            onSubscriptionsChanged();
+        }
+    };
     @NonNull
     public static MobileNetworkRepository getInstance(Context context) {
         synchronized (sInstanceLock) {
@@ -142,8 +146,6 @@
         mFilter.addAction(SubscriptionManager.ACTION_DEFAULT_SUBSCRIPTION_CHANGED);
         mFilter.addAction(ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED);
         mFilter.addAction(SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED);
-        mDataSubscriptionChangedReceiver = new DataSubscriptionChangedReceiver();
-        mContext.registerReceiver(mDataSubscriptionChangedReceiver, mFilter);
     }
 
     private class AirplaneModeObserver extends ContentObserver {
@@ -171,13 +173,6 @@
         }
     }
 
-    private class DataSubscriptionChangedReceiver extends BroadcastReceiver {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            onSubscriptionsChanged();
-        }
-    }
-
     /**
      * Register all callbacks and listener.
      *
@@ -188,9 +183,16 @@
      */
     public void addRegister(LifecycleOwner lifecycleOwner,
             MobileNetworkCallback mobileNetworkCallback, int subId) {
+        if (sCallbacks.isEmpty()) {
+            mSubscriptionManager.addOnSubscriptionsChangedListener(mContext.getMainExecutor(),
+                    this);
+            mAirplaneModeObserver.register(mContext);
+            mContext.registerReceiver(mDataSubscriptionChangedReceiver, mFilter);
+            if (DEBUG) {
+                Log.d(TAG, "addRegister done");
+            }
+        }
         sCallbacks.add(mobileNetworkCallback);
-        mSubscriptionManager.addOnSubscriptionsChangedListener(mContext.getMainExecutor(), this);
-        mAirplaneModeObserver.register(mContext);
         observeAllSubInfo(lifecycleOwner);
         observeAllUiccInfo(lifecycleOwner);
         observeAllMobileNetworkInfo(lifecycleOwner);
@@ -200,7 +202,7 @@
         }
     }
 
-    private void addRegisterBySubId(int subId) {
+    public void addRegisterBySubId(int subId) {
         MobileDataContentObserver dataContentObserver = new MobileDataContentObserver(
                 new Handler(Looper.getMainLooper()));
         dataContentObserver.setOnMobileDataChangedListener(() -> {
@@ -268,10 +270,7 @@
         if (sCallbacks.isEmpty()) {
             mSubscriptionManager.removeOnSubscriptionsChangedListener(this);
             mAirplaneModeObserver.unRegister(mContext);
-            if (mDataSubscriptionChangedReceiver != null) {
-                mContext.unregisterReceiver(mDataSubscriptionChangedReceiver);
-                mDataSubscriptionChangedReceiver = null;
-            }
+            mContext.unregisterReceiver(mDataSubscriptionChangedReceiver);
             mDataContentObserverMap.forEach((id, observer) -> {
                 observer.unRegister(mContext);
             });
@@ -285,6 +284,9 @@
             });
             mTelephonyCallbackMap.clear();
             mTelephonyManagerMap.clear();
+            if (DEBUG) {
+                Log.d(TAG, "removeRegister done");
+            }
         }
     }
 
diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
index 01ec5df..c8f7acf 100644
--- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
@@ -104,8 +104,13 @@
 
     @OnLifecycleEvent(ON_RESUME)
     public void onResume() {
-        mMobileNetworkRepository.addRegister(mLifecycleOwner, this, getDefaultSubscriptionId());
+        mMobileNetworkRepository.addRegister(mLifecycleOwner, this,
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
         mMobileNetworkRepository.updateEntity();
+        // Can not get default subId from database until get the callback, add register by subId
+        // later.
+        mMobileNetworkRepository.addRegisterBySubId(getDefaultSubscriptionId());
+
     }
 
     @OnLifecycleEvent(ON_PAUSE)
diff --git a/src/com/android/settings/password/SetupChooseLockGeneric.java b/src/com/android/settings/password/SetupChooseLockGeneric.java
index 797f1eb..17d83b3 100644
--- a/src/com/android/settings/password/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/password/SetupChooseLockGeneric.java
@@ -108,6 +108,7 @@
             super.onViewCreated(view, savedInstanceState);
 
             GlifPreferenceLayout layout = (GlifPreferenceLayout) view;
+            layout.setDescriptionText(loadDescriptionText());
             layout.setDividerItemDecoration(new SettingsDividerItemDecoration(getContext()));
             layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
                     R.dimen.sud_items_glif_text_divider_inset));
@@ -128,11 +129,9 @@
 
         @Override
         protected void addHeaderView() {
-            if (isForBiometric()) {
-                setHeaderView(R.layout.setup_choose_lock_generic_biometrics_header);
-            } else {
-                setHeaderView(R.layout.setup_choose_lock_generic_header);
-            }
+            // The original logic has been moved to onViewCreated and
+            // uses GlifLayout#setDescriptionText instead,
+            // keep empty body here since we won't call super method.
         }
 
         @Override
@@ -229,6 +228,12 @@
         private boolean isForBiometric() {
             return mForFingerprint || mForFace || mForBiometrics;
         }
+
+        String loadDescriptionText() {
+            return getString(isForBiometric()
+                    ? R.string.lock_settings_picker_biometrics_added_security_message
+                    : R.string.setup_lock_settings_picker_message);
+        }
     }
 
     public static class InternalActivity extends ChooseLockGeneric.InternalActivity {
diff --git a/src/com/android/settings/regionalpreferences/NumberingSystemController.java b/src/com/android/settings/regionalpreferences/NumberingSystemController.java
index d9feba4..d936fbf 100644
--- a/src/com/android/settings/regionalpreferences/NumberingSystemController.java
+++ b/src/com/android/settings/regionalpreferences/NumberingSystemController.java
@@ -17,16 +17,26 @@
 package com.android.settings.regionalpreferences;
 
 import android.content.Context;
+import android.os.LocaleList;
 
+import com.android.internal.app.LocaleStore;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.localepicker.LocaleFeatureProviderImpl;
 
+import java.util.HashSet;
+import java.util.Locale;
+import java.util.Set;
+
 /** A controller for the entry of Numbering System's page */
 public class NumberingSystemController extends BasePreferenceController {
     private static final String TAG = NumberingSystemController.class.getSimpleName();
 
+    private LocaleList mLocaleList;
     public NumberingSystemController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        // Initialize the supported languages to LocaleInfos
+        LocaleStore.fillCache(context);
+        mLocaleList = getNumberingSystemLocale();
     }
 
     /**
@@ -42,11 +52,31 @@
      */
     @Override
     public int getAvailabilityStatus() {
-        return AVAILABLE;
+        return mLocaleList.isEmpty() ? CONDITIONALLY_UNAVAILABLE : AVAILABLE;
+    }
+
+    private static LocaleList getNumberingSystemLocale() {
+        LocaleList localeList = LocaleList.getDefault();
+        Set<Locale> localesHasNumberingSystems = new HashSet<>();
+        for (int i = 0; i < localeList.size(); i++) {
+            Locale locale = localeList.get(i);
+            LocaleStore.LocaleInfo localeInfo = LocaleStore.getLocaleInfo(locale);
+            if (localeInfo.hasNumberingSystems()) {
+                localesHasNumberingSystems.add(locale);
+            }
+        }
+        return convertToLocaleList(localesHasNumberingSystems);
+    }
+
+    private static LocaleList convertToLocaleList(Set<Locale> locales) {
+        if (locales.isEmpty()) {
+            return LocaleList.getEmptyLocaleList();
+        }
+        return new LocaleList(locales.stream().toArray(Locale[]::new));
     }
 
     @Override
     public CharSequence getSummary() {
-        return new LocaleFeatureProviderImpl().getLocaleNames();
+        return new LocaleFeatureProviderImpl().getLocaleNames(getNumberingSystemLocale());
     }
 }
diff --git a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
index fc26b53..8e2d735 100644
--- a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
+++ b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
@@ -30,6 +30,7 @@
 
 import com.android.internal.app.LocaleHelper;
 import com.android.internal.app.LocalePicker;
+import com.android.internal.app.LocaleStore;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
@@ -52,6 +53,8 @@
 
     public NumberingSystemItemController(Context context, Bundle argument) {
         super(context, "no_key");
+        // Initialize the supported languages to LocaleInfos
+        LocaleStore.fillCache(context);
         mOption = argument.getString(
                 RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE, "");
         mSelectedLanguage = argument.getString(
@@ -111,8 +114,12 @@
         // Get current system language list to show on screen.
         LocaleList localeList = LocaleList.getDefault();
         for (int i = 0; i < localeList.size(); i++) {
-            Preference pref = new Preference(mContext);
             Locale locale = localeList.get(i);
+            LocaleStore.LocaleInfo localeInfo = LocaleStore.getLocaleInfo(locale);
+            if (!localeInfo.hasNumberingSystems()) {
+                continue;
+            }
+            Preference pref = new Preference(mContext);
             pref.setTitle(LocaleHelper.getDisplayName(locale.stripExtensions(), locale, true));
             pref.setKey(locale.toLanguageTag());
             pref.setSummary(getNumberingSystem(locale));
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java
index 621b222..9f1d2f3 100644
--- a/src/com/android/settings/tts/TextToSpeechSettings.java
+++ b/src/com/android/settings/tts/TextToSpeechSettings.java
@@ -811,6 +811,14 @@
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.tts_settings);
+            new BaseSearchIndexProvider(R.xml.tts_settings) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    TtsEngines ttsEngines = new TtsEngines(context);
+                    return !ttsEngines.getEngines().isEmpty() &&
+                            context.getResources().getBoolean(
+                                    R.bool.config_show_tts_settings_summary);
+                }
+            };
 
 }
diff --git a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
index 63ab173..60031b0 100644
--- a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
+++ b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
@@ -655,6 +655,10 @@
             try {
                 mWifiManager.addOrUpdatePasspointConfiguration(passpointConfig);
                 mAnyNetworkSavedSuccess = true;
+
+                // (force) enable MAC randomization on new credentials
+                mWifiManager.setMacRandomizationSettingPasspointEnabled(
+                        passpointConfig.getHomeSp().getFqdn(), true);
             } catch (IllegalArgumentException e) {
                 mResultCodeArrayList.set(mUiToRequestedList.get(index).mIndex,
                         RESULT_NETWORK_ADD_ERROR);
@@ -669,6 +673,10 @@
             final WifiConfiguration wifiConfiguration =
                     mUiToRequestedList.get(index).mWifiNetworkSuggestion.getWifiConfiguration();
             wifiConfiguration.SSID = addQuotationIfNeeded(wifiConfiguration.SSID);
+
+            // (force) enable MAC randomization on new credentials
+            wifiConfiguration.setMacRandomizationSetting(
+                    WifiConfiguration.RANDOMIZATION_PERSISTENT);
             mWifiManager.save(wifiConfiguration, mSaveListener);
         }
     }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/HearingDeviceAudioRoutingBasePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/HearingDeviceAudioRoutingBasePreferenceControllerTest.java
index 5be36c8..105da65 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/HearingDeviceAudioRoutingBasePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/HearingDeviceAudioRoutingBasePreferenceControllerTest.java
@@ -20,15 +20,13 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
+import static org.mockito.ArgumentMatchers.isNull;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
-import android.content.SharedPreferences;
 import android.media.AudioAttributes;
 import android.media.AudioDeviceAttributes;
 import android.media.AudioDeviceInfo;
@@ -38,7 +36,10 @@
 import androidx.preference.ListPreference;
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.R;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
+import com.android.settingslib.bluetooth.HearingAidAudioRoutingHelper;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -63,71 +64,67 @@
     private final Context mContext = ApplicationProvider.getApplicationContext();
     private static final String TEST_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
     private static final String FAKE_KEY = "fake_key";
-    private static final String TEST_SHARED_PREFERENCE = "test_bluetooth_settings";
 
     @Mock
+    private AudioProductStrategy mAudioProductStrategyMedia;
+    @Mock
     private CachedBluetoothDevice mCachedBluetoothDevice;
     @Mock
-    private AudioProductStrategy mAudioProductStrategyMedia;
-    private AudioDeviceAttributes mHearingDeviceAttribute;
-    private ListPreference mListPreference;
+    private BluetoothDevice mBluetoothDevice;
+    @Spy
+    private HearingAidAudioRoutingHelper mHelper = new HearingAidAudioRoutingHelper(mContext);
+    private final ListPreference mListPreference = new ListPreference(mContext);
     private TestHearingDeviceAudioRoutingBasePreferenceController mController;
 
     @Before
     public void setUp() {
-        mListPreference = new ListPreference(mContext);
-        when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_DEVICE_ADDRESS);
-        mHearingDeviceAttribute = new AudioDeviceAttributes(
+        final AudioDeviceAttributes hearingDeviceAttribute = new AudioDeviceAttributes(
                 AudioDeviceAttributes.ROLE_OUTPUT,
                 AudioDeviceInfo.TYPE_HEARING_AID,
                 TEST_DEVICE_ADDRESS);
+
+        when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
+        when(mBluetoothDevice.getAnonymizedAddress()).thenReturn(TEST_DEVICE_ADDRESS);
+        when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_DEVICE_ADDRESS);
+        when(mHelper.getMatchedHearingDeviceAttributes(any())).thenReturn(hearingDeviceAttribute);
         when(mAudioProductStrategyMedia.getAudioAttributesForLegacyStreamType(
                 AudioManager.STREAM_MUSIC))
                 .thenReturn((new AudioAttributes.Builder()).build());
-        doReturn(getSharedPreferences()).when(mContext).getSharedPreferences(anyString(), anyInt());
+        when(mHelper.getAudioProductStrategies()).thenReturn(List.of(mAudioProductStrategyMedia));
 
-        mController = spy(
-                new TestHearingDeviceAudioRoutingBasePreferenceController(mContext, FAKE_KEY));
-        mController.setupForTesting(mCachedBluetoothDevice);
-        doReturn(List.of(mAudioProductStrategyMedia)).when(mController).getAudioProductStrategies();
+        mController = new TestHearingDeviceAudioRoutingBasePreferenceController(mContext, FAKE_KEY,
+                mHelper);
+        TestHearingDeviceAudioRoutingBasePreferenceController.setupForTesting(
+                mCachedBluetoothDevice);
+        mListPreference.setEntries(R.array.bluetooth_audio_routing_titles);
+        mListPreference.setEntryValues(R.array.bluetooth_audio_routing_values);
+        mListPreference.setSummary("%s");
     }
 
     @Test
-    public void onPreferenceChange_routingValueAuto_expectedListValue() {
-        mController.onPreferenceChange(mListPreference, String.valueOf(
-                HearingDeviceAudioRoutingBasePreferenceController.RoutingValue.AUTO));
+    public void updateState_routingValueAuto_expectedSummary() {
+        mController.saveRoutingValue(mContext, HearingAidAudioRoutingConstants.RoutingValue.AUTO);
 
-        verify(mController).removePreferredDeviceForStrategies(any());
-        assertThat(mListPreference.getValue()).isEqualTo(String.valueOf(
-                HearingDeviceAudioRoutingBasePreferenceController.RoutingValue.AUTO));
+        mController.updateState(mListPreference);
+
+        assertThat(mListPreference.getSummary().toString()).isEqualTo(
+                mListPreference.getEntries()[0].toString());
     }
 
     @Test
-    public void onPreferenceChange_routingValueHearingDevice_expectedListValue() {
+    public void onPreferenceChange_routingValueHearingDevice_restoreSameValue() {
         mController.onPreferenceChange(mListPreference, String.valueOf(
-                HearingDeviceAudioRoutingBasePreferenceController.RoutingValue.HEARING_DEVICE));
+                HearingAidAudioRoutingConstants.RoutingValue.HEARING_DEVICE));
 
-        verify(mController).setPreferredDeviceForStrategies(any(), eq(mHearingDeviceAttribute));
-        assertThat(mListPreference.getValue()).isEqualTo(String.valueOf(
-                HearingDeviceAudioRoutingBasePreferenceController.RoutingValue.HEARING_DEVICE));
+        assertThat(mController.restoreRoutingValue(mContext)).isEqualTo(
+                HearingAidAudioRoutingConstants.RoutingValue.HEARING_DEVICE);
     }
 
     @Test
-    public void onPreferenceChange_routingValueDeviceSpeaker_expectedListValue() {
-        final AudioDeviceAttributes deviceSpeakerOut = new AudioDeviceAttributes(
-                AudioDeviceAttributes.ROLE_OUTPUT, AudioDeviceInfo.TYPE_BUILTIN_SPEAKER, "");
+    public void onPreferenceChange_noMatchedDeviceAttributes_notCallSetStrategies() {
+        when(mHelper.getMatchedHearingDeviceAttributes(any())).thenReturn(null);
 
-        mController.onPreferenceChange(mListPreference, String.valueOf(
-                HearingDeviceAudioRoutingBasePreferenceController.RoutingValue.DEVICE_SPEAKER));
-
-        verify(mController).setPreferredDeviceForStrategies(any(), eq(deviceSpeakerOut));
-        assertThat(mListPreference.getValue()).isEqualTo(String.valueOf(
-                HearingDeviceAudioRoutingBasePreferenceController.RoutingValue.DEVICE_SPEAKER));
-
-    }
-
-    private SharedPreferences getSharedPreferences() {
-        return mContext.getSharedPreferences(TEST_SHARED_PREFERENCE, Context.MODE_PRIVATE);
+        verify(mHelper, never()).setPreferredDeviceRoutingStrategies(any(), isNull(), anyInt());
     }
 
     private static class TestHearingDeviceAudioRoutingBasePreferenceController extends
@@ -137,8 +134,8 @@
         private static int sSavedRoutingValue;
 
         TestHearingDeviceAudioRoutingBasePreferenceController(Context context,
-                String preferenceKey) {
-            super(context, preferenceKey);
+                String preferenceKey, HearingAidAudioRoutingHelper helper) {
+            super(context, preferenceKey, helper);
         }
 
         @Override
diff --git a/tests/robotests/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceControllerTest.java
index 4ad5c22..78a9e99 100644
--- a/tests/robotests/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/CustomizableLockScreenQuickAffordancesPreferenceControllerTest.java
@@ -21,6 +21,8 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -28,6 +30,10 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.database.MatrixCursor;
 import android.text.TextUtils;
 
@@ -54,6 +60,7 @@
 
     @Mock private Context mContext;
     @Mock private ContentResolver mContentResolver;
+    @Mock private PackageManager mPackageManager;
 
     private CustomizableLockScreenQuickAffordancesPreferenceController mUnderTest;
 
@@ -63,20 +70,28 @@
         when(mContext.getContentResolver()).thenReturn(mContentResolver);
         when(mContext.getResources())
                 .thenReturn(ApplicationProvider.getApplicationContext().getResources());
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
 
         mUnderTest = new CustomizableLockScreenQuickAffordancesPreferenceController(mContext, KEY);
     }
 
     @Test
-    public void getAvailabilityStatus_whenEnabled() {
-        setEnabled(true);
+    public void getAvailabilityStatus_whenFeatureEnabled() {
+        setEnabled(/* isWallpaperPickerInstalled= */ true, /* isFeatureEnabled = */ true);
 
         assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
-    public void getAvailabilityStatus_whenNotEnabled() {
-        setEnabled(false);
+    public void getAvailabilityStatus_whenWallpaperPickerNotInstalledEnabled() {
+        setEnabled(/* isWallpaperPickerInstalled= */ false, /* isFeatureEnabled = */ true);
+
+        assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_whenFeatureNotEnabled() {
+        setEnabled(/* isWallpaperPickerInstalled= */ true, /* isFeatureEnabled = */ false);
 
         assertThat(mUnderTest.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
@@ -127,13 +142,29 @@
         assertThat(TextUtils.equals(mUnderTest.getSummary(), "one, two")).isTrue();
     }
 
-    private void setEnabled(boolean isEnabled) {
+    private void setEnabled(boolean isWallpaperPickerInstalled, boolean isFeatureEnabled) {
+        if (isWallpaperPickerInstalled) {
+            final ResolveInfo resolveInfo = new ResolveInfo();
+            final ActivityInfo activityInfo = new ActivityInfo();
+            final ApplicationInfo applicationInfo = new ApplicationInfo();
+            applicationInfo.packageName = "com.fake.name";
+            activityInfo.applicationInfo = applicationInfo;
+            activityInfo.name = "someName";
+            resolveInfo.activityInfo = activityInfo;
+            when(mPackageManager.resolveActivity(any(), anyInt())).thenReturn(resolveInfo);
+        } else {
+            when(mPackageManager.resolveActivity(any(), anyInt())).thenReturn(null);
+        }
+
         final MatrixCursor cursor = new MatrixCursor(
                 new String[] {
                         CustomizableLockScreenUtils.NAME,
                         CustomizableLockScreenUtils.VALUE
                 });
-        cursor.addRow(new Object[] { CustomizableLockScreenUtils.ENABLED_FLAG, isEnabled ? 1 : 0 });
+        cursor.addRow(
+                new Object[] {
+                    CustomizableLockScreenUtils.ENABLED_FLAG, isFeatureEnabled ? 1 : 0
+                });
         when(
                 mContentResolver.query(
                         CustomizableLockScreenUtils.FLAGS_URI, null, null, null))
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockGenericTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockGenericTest.java
index cd79f58..494d3f0 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockGenericTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockGenericTest.java
@@ -23,15 +23,20 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.robolectric.Shadows.shadowOf;
-
 import android.content.Intent;
+import android.text.TextUtils;
 
+import androidx.annotation.NonNull;
+import androidx.fragment.app.Fragment;
+
+import com.android.settings.password.SetupChooseLockGeneric.SetupChooseLockGenericFragment;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowPasswordUtils;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
+import com.google.android.setupdesign.GlifPreferenceLayout;
+
 import org.junit.After;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -41,6 +46,8 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowActivity;
 
+import java.util.List;
+
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         ShadowUserManager.class,
@@ -78,4 +85,43 @@
         ShadowActivity shadowActivity = Shadows.shadowOf(activity);
         assertThat(shadowActivity.isFinishing()).isFalse();
     }
+
+    @Test
+    public void setupChooseLockGenericUsingDescriptionTextOfGlifLayout() {
+        SetupChooseLockGenericFragment fragment = getFragmentOfSetupChooseLockGeneric(false);
+        GlifPreferenceLayout view = getViewOfSetupChooseLockGenericFragment(fragment);
+        assertThat(TextUtils.isEmpty(view.getDescriptionText())).isFalse();
+        assertThat(view.getDescriptionText().toString()).isEqualTo(fragment.loadDescriptionText());
+    }
+
+    @Test
+    public void setupChooseLockGenericUsingDescriptionTextOfGlifLayoutForBiometric() {
+        SetupChooseLockGenericFragment fragment = getFragmentOfSetupChooseLockGeneric(true);
+        GlifPreferenceLayout view = getViewOfSetupChooseLockGenericFragment(fragment);
+        assertThat(TextUtils.isEmpty(view.getDescriptionText())).isFalse();
+        assertThat(view.getDescriptionText().toString()).isEqualTo(fragment.loadDescriptionText());
+    }
+
+    private SetupChooseLockGenericFragment getFragmentOfSetupChooseLockGeneric(boolean biometric) {
+        ShadowPasswordUtils.addGrantedPermission(REQUEST_PASSWORD_COMPLEXITY);
+        Intent intent = new Intent("com.android.settings.SETUP_LOCK_SCREEN");
+        intent.putExtra(EXTRA_KEY_REQUESTED_MIN_COMPLEXITY, PASSWORD_COMPLEXITY_HIGH);
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, biometric);
+        SetupChooseLockGeneric activity =
+                Robolectric.buildActivity(SetupChooseLockGeneric.class, intent).setup().get();
+
+        List<Fragment> fragments = activity.getSupportFragmentManager().getFragments();
+        assertThat(fragments).isNotNull();
+        assertThat(fragments.size()).isEqualTo(1);
+        assertThat(fragments.get(0)).isInstanceOf(SetupChooseLockGenericFragment.class);
+
+        return (SetupChooseLockGenericFragment) fragments.get(0);
+    }
+    private GlifPreferenceLayout getViewOfSetupChooseLockGenericFragment(
+            @NonNull SetupChooseLockGenericFragment fragment) {
+        assertThat(fragment.getView()).isNotNull();
+        assertThat(fragment.getView()).isInstanceOf(GlifPreferenceLayout.class);
+
+        return (GlifPreferenceLayout) fragment.getView();
+    }
 }
diff --git a/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java b/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java
index cba3101..2109f12 100644
--- a/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java
@@ -318,11 +318,11 @@
         Map<String, SwitchPreference> prefs =
                 controller.buildPreferenceList(mContext, mCredentialsPreferenceCategory);
         assertThat(prefs.size()).isEqualTo(3);
-        SwitchPreference pref1 = prefs.get(TEST_PACKAGE_NAME_C);
+        SwitchPreference pref1 = prefs.get(TEST_PACKAGE_NAME_A);
         assertThat(pref1).isNotNull();
         assertThat(pref1.getTitle()).isEqualTo(TEST_TITLE_APP_A);
         assertThat(pref1.isChecked()).isFalse();
-        SwitchPreference pref2 = prefs.get(TEST_PACKAGE_NAME_C);
+        SwitchPreference pref2 = prefs.get(TEST_PACKAGE_NAME_B);
         assertThat(pref2).isNotNull();
         assertThat(pref2.getTitle()).isEqualTo(TEST_TITLE_APP_B);
         assertThat(pref2.isChecked()).isFalse();
diff --git a/tests/unit/src/com/android/settings/regionalpreferences/NumberingPreferencesFragmentTest.java b/tests/unit/src/com/android/settings/regionalpreferences/NumberingPreferencesFragmentTest.java
index 92cfb69..5a579a3 100644
--- a/tests/unit/src/com/android/settings/regionalpreferences/NumberingPreferencesFragmentTest.java
+++ b/tests/unit/src/com/android/settings/regionalpreferences/NumberingPreferencesFragmentTest.java
@@ -19,18 +19,15 @@
 import static org.junit.Assert.assertEquals;
 
 import android.app.settings.SettingsEnums;
-import android.content.Context;
 import android.os.Bundle;
 import android.os.Looper;
 
 import androidx.test.annotation.UiThreadTest;
-import androidx.test.core.app.ApplicationProvider;
 
 import org.junit.Before;
 import org.junit.Test;
 
 public class NumberingPreferencesFragmentTest {
-    private Context mApplicationContext;
     private NumberingPreferencesFragment mFragment;
 
     @Before
@@ -39,7 +36,6 @@
         if (Looper.myLooper() == null) {
             Looper.prepare();
         }
-        mApplicationContext = ApplicationProvider.getApplicationContext();
         mFragment = new NumberingPreferencesFragment();
     }
 
diff --git a/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemControllerTest.java b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemControllerTest.java
new file mode 100644
index 0000000..6a95bb9
--- /dev/null
+++ b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemControllerTest.java
@@ -0,0 +1,61 @@
+/*
+ * 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.regionalpreferences;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static org.junit.Assert.assertEquals;
+
+import android.content.Context;
+import android.os.LocaleList;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+
+public class NumberingSystemControllerTest {
+    private Context mApplicationContext;
+    private NumberingSystemController mController;
+
+    @Before
+    public void setUp() throws Exception {
+        mApplicationContext = ApplicationProvider.getApplicationContext();
+    }
+
+    @Test
+    public void getAvailabilityStatus_noLocale_unavailable() {
+        LocaleList.setDefault(LocaleList.forLanguageTags("en-US,zh-Hant-TW"));
+        mController = new NumberingSystemController(mApplicationContext, "key");
+
+        int result = mController.getAvailabilityStatus();
+
+        assertEquals(CONDITIONALLY_UNAVAILABLE, result);
+    }
+
+    @Test
+    public void getAvailabilityStatus_hasLocaleWithNumberingSystems_available() {
+        // ar-JO has different numbering system.
+        LocaleList.setDefault(LocaleList.forLanguageTags("en-US,zh-Hant-TW,ar-JO"));
+        mController = new NumberingSystemController(mApplicationContext, "key");
+
+        int result = mController.getAvailabilityStatus();
+
+        assertEquals(AVAILABLE, result);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java
index 0d9a334..5ec33db 100644
--- a/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java
+++ b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java
@@ -111,8 +111,8 @@
 
     @Test
     @UiThreadTest
-    public void displayPreference_languageOptAndHas2Locale_show2Options() {
-        LocaleList.setDefault(LocaleList.forLanguageTags("en-US, zh-TW"));
+    public void displayPreference_languageOptAndHas2LocaleWithSingleNu_showNothing() {
+        LocaleList.setDefault(LocaleList.forLanguageTags("en-US,zh-TW"));
         Bundle bundle = new Bundle();
         bundle.putString(RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE,
                 NumberingSystemItemController.ARG_VALUE_LANGUAGE_SELECT);
@@ -123,13 +123,31 @@
 
         mController.displayPreference(mPreferenceScreen);
 
-        assertEquals(LocaleList.getDefault().size(), mPreferenceScreen.getPreferenceCount());
+        assertEquals(0, mPreferenceScreen.getPreferenceCount());
+    }
+
+    @Test
+    @UiThreadTest
+    public void displayPreference_languageOptAndHas2LocaleWithMultiNu_showLocaleWithMultiNuOnly() {
+        // ar-JO and dz-BT have multiple numbering systems.
+        LocaleList.setDefault(LocaleList.forLanguageTags("en-US,zh-TW,ar-JO,dz-BT"));
+        Bundle bundle = new Bundle();
+        bundle.putString(RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE,
+                NumberingSystemItemController.ARG_VALUE_LANGUAGE_SELECT);
+        bundle.putString(
+                NumberingSystemItemController.KEY_SELECTED_LANGUAGE, Locale.US.toLanguageTag());
+        mController = new NumberingSystemItemController(mApplicationContext, bundle);
+        mController.setParentFragment(mFragment);
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertEquals(2, mPreferenceScreen.getPreferenceCount());
     }
 
     @Test
     @UiThreadTest
     public void displayPreference_enUsNumbersOpt_show1Option() {
-        LocaleList.setDefault(LocaleList.forLanguageTags("en-US, zh-TW"));
+        LocaleList.setDefault(LocaleList.forLanguageTags("en-US,zh-TW"));
         Bundle bundle = new Bundle();
         bundle.putString(RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE,
                 NumberingSystemItemController.ARG_VALUE_NUMBERING_SYSTEM_SELECT);