Merge "Keep the dialog when touching outside the window" into main
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index cae7096..79a7171 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1563,6 +1563,19 @@
                        android:value="@string/menu_key_apps"/>
         </activity-alias>
 
+        <activity android:name="Settings$UserAspectRatioAppListActivity"
+            android:exported="true"
+            android:label="@string/aspect_ratio_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.MANAGE_USER_ASPECT_RATIO_SETTINGS"/>
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.applications.manageapplications.ManageApplications" />
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                android:value="@string/menu_key_apps"/>
+        </activity>
+
         <activity
             android:name="Settings$ManageDomainUrlsActivity"
             android:exported="true"
diff --git a/res-product/values-af/strings.xml b/res-product/values-af/strings.xml
index 593da96..0b857c9 100644
--- a/res-product/values-af/strings.xml
+++ b/res-product/values-af/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Wanneer jy jou tablet tussen portret en landskap beweeg"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Verstel hoe kleure op jou foon gewys word"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Verstel hoe kleure op jou tablet gewys word"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Jou toestelnaam is op jou foon vir apps sigbaar. Ander mense sal dit dalk ook kan sien as jy aan Bluetooth-toestelle koppel, aan ’n wi-fi-netwerk koppel of ’n wi-fi-warmkol opstel."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Jou toestelnaam is op jou tablet vir apps sigbaar. Ander mense sal dit dalk ook kan sien as jy aan Bluetooth-toestelle koppel, aan ’n wi-fi-netwerk koppel of ’n wi-fi-warmkol opstel."</string>
 </resources>
diff --git a/res-product/values-am/strings.xml b/res-product/values-am/strings.xml
index c779268..00c73bd 100644
--- a/res-product/values-am/strings.xml
+++ b/res-product/values-am/strings.xml
@@ -113,12 +113,12 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" product="default" msgid="8488497844109768268">"ስልክዎን ለመክፈት የጣት አሻራዎን መጠቀሙ ከጠንካራ ስርዓተ ጥለት ወይም ፒን ያነሰ ደህንነቱ የተጠበቀ ሊሆን ይችላል"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" product="tablet" msgid="5688664190282817312">"ጡባዊዎን ለመክፈት የጣት አሻራዎን መጠቀም ከጠንካራ ስርዓተ ጥለት ወይም ፒን ያነሰ ደህንነት ሊኖረው ይችላል"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_1" product="device" msgid="2814616139536479018">"መሣሪያዎን ለመክፈት የጣት አሻራዎን መጠቀም ከጠንካራ ስርዓተ ጥለት ወይም ፒን ያነሰ ደህንነት ሊኖረው ይችላል"</string>
-    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" product="default" msgid="3334689370761542152">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራዎን ሞዴል ለማዘመን ጥቅም ላይ ይውላሉ። የጣት አሻራዎን ሞዴል ለመፍጠር ስራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በስልክዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ሲሆን በጭራሽ ከስልኩ አይወጣም። ሁሉም ሂደቶች በስልክዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከሰታል።"</string>
-    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" product="tablet" msgid="6142978289780449828">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራዎን ሞዴል ለማዘመን ስራ ላይ ይውላሉ። የጣት አሻራዎን ሞዴል ለመፍጠር ስራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በጡባዊዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ነው እና በጭራሽ ከጡባዊው አይወጣም። ሁሉም ማሰናዳት በጡባዊዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከናወናል።"</string>
-    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" product="device" msgid="9221017777932077429">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራዎን ሞዴል ለማዘመን ስራ ላይ ይውላሉ። የጣት አሻራዎን ሞዴል ለመፍጠር ስራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በመሣሪያዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ነው እና በጭራሽ ከመሣሪያው አይወጣም። ሁሉም ማሰናዳት በመሣሪያዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከናወናል።"</string>
-    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" product="default" msgid="6804981319922169283">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራዎን ሞዴል ለማዘመን ስራ ላይ ይውላሉ። የልጅዎን የጣት አሻራ ሞዴል ለመፍጠር ስራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በስልኩ ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ሲሆን በጭራሽ ከስልኩ አይወጣም። ሁሉም ሂደቶች በስልኩ ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከሰታል።"</string>
-    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" product="tablet" msgid="1426913673720862863">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራቸውን ሞዴል ለማዘመን ስራ ላይ ይውላሉ። የልጅዎን የጣት አሻራ ሞዴል ለመፍጠር ስራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በጡባዊው ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ነው እና በጭራሽ ከጡባዊው አይወጣም። ሁሉም ማሰናዳት በጡባዊው ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከናወናል።"</string>
-    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" product="device" msgid="2631789126811300879">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራቸውን ሞዴል ለማዘመን ስራ ላይ ይውላሉ። የልጅዎን የጣት አሻራ ሞዴል ለመፍጠር ስራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በመሣሪያው ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ነው እና በጭራሽ ከመሣሪያው አይወጣም። ሁሉም ማሰናዳት በመሣሪያው ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከናወናል።"</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" product="default" msgid="3334689370761542152">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራዎን ሞዴል ለማዘመን ጥቅም ላይ ይውላሉ። የጣት አሻራዎን ሞዴል ለመፍጠር ሥራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በስልክዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ሲሆን በጭራሽ ከስልኩ አይወጣም። ሁሉም ሂደቶች በስልክዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከሰታል።"</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" product="tablet" msgid="6142978289780449828">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራዎን ሞዴል ለማዘመን ሥራ ላይ ይውላሉ። የጣት አሻራዎን ሞዴል ለመፍጠር ሥራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በጡባዊዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ነው እና በጭራሽ ከጡባዊው አይወጣም። ሁሉም ማሰናዳት በጡባዊዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከናወናል።"</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_3" product="device" msgid="9221017777932077429">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራዎን ሞዴል ለማዘመን ሥራ ላይ ይውላሉ። የጣት አሻራዎን ሞዴል ለመፍጠር ሥራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በመሣሪያዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ነው እና በጭራሽ ከመሣሪያው አይወጣም። ሁሉም ማሰናዳት በመሣሪያዎ ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከናወናል።"</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" product="default" msgid="6804981319922169283">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራዎን ሞዴል ለማዘመን ሥራ ላይ ይውላሉ። የልጅዎን የጣት አሻራ ሞዴል ለመፍጠር ሥራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በስልኩ ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ሲሆን በጭራሽ ከስልኩ አይወጣም። ሁሉም ሂደቶች በስልኩ ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከሰታል።"</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" product="tablet" msgid="1426913673720862863">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራቸውን ሞዴል ለማዘመን ሥራ ላይ ይውላሉ። የልጅዎን የጣት አሻራ ሞዴል ለመፍጠር ሥራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በጡባዊው ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ነው እና በጭራሽ ከጡባዊው አይወጣም። ሁሉም ማሰናዳት በጡባዊው ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከናወናል።"</string>
+    <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3" product="device" msgid="2631789126811300879">"Pixel Imprintን ሲጠቀሙ ምስሎች የጣት አሻራቸውን ሞዴል ለማዘመን ሥራ ላይ ይውላሉ። የልጅዎን የጣት አሻራ ሞዴል ለመፍጠር ሥራ ላይ የዋሉ ምስሎች በጭራሽ አይከማቹም፣ ነገር ግን የጣት አሻራ ሞዴሉ በመሣሪያው ላይ ደህንነቱ በተጠበቀ ሁኔታ የሚከማች ነው እና በጭራሽ ከመሣሪያው አይወጣም። ሁሉም ማሰናዳት በመሣሪያው ላይ ደህንነቱ በተጠበቀ ሁኔታ ይከናወናል።"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_4" product="default" msgid="1354488801088258040">"የጣት አሻራዎን ምስሎች እና ሞዴል መሰረዝ ወይም በቅንብሮች ውስጥ በማንኛውም ጊዜ በጣት አሻራ መከፈትን ማጥፋት ይችላሉ። የጣት አሻራ ምስሎች እና ሞዴሎች እስኪሰርዟቸው ድረስ በስልኩ ላይ ይቀመጣሉ።"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_4" product="tablet" msgid="8207309581266022275">"እርስዎ በማንኛውም ጊዜ በቅንብሮች ውስጥ የጣት አሻራዎን ምስሎች እና ሞዴል መሰረዝ ወይም በጣት አሻራ መከፈትን ማጥፋት ይችላሉ። የጣት አሻራ ምስሎች እና ሞዴሎች እስኪሰርዟቸው ድረስ በጡባዊው ላይ ይከማቻሉ።"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_4" product="device" msgid="2498580070051496133">"እርስዎ በማንኛውም ጊዜ በቅንብሮች ውስጥ የጣት አሻራዎን ምስሎች እና ሞዴል መሰረዝ ወይም በጣት አሻራ መከፈትን ማጥፋት ይችላሉ። የጣት አሻራ ምስሎች እና ሞዴሎች እስኪሰርዟቸው ድረስ በመሣሪያው ላይ ይከማቻሉ።"</string>
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ጡባዊዎን በቁም ፎቶ እና በወርድ መካከል ሲያንቀሳቅሱ"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ቀለሞች በስልክዎ ላይ እንዴት እንደሚታዩ ያስተካክሉ"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ቀለሞች በጡባዊዎ ላይ እንዴት እንደሚታዩ ያስተካክሉ"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"የመሣሪያዎ ስም በእርስዎ ስልክ ላይ ላሉ መተግበሪያዎች ይታያል። እንዲሁም ከብሉቱዝ መሣሪያዎች ጋር ሲገናኙ፣ ከWi-Fi አውታረ መረብ ጋር ሲገናኙ ወይም የWi-Fi መገናኛ ነጥብን ሲያዋቅሩ በሌሎች ሰዎች ሊታይ ይችላል።"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"የመሣሪያዎ ስም በእርስዎ ጡባዊ ላይ ላሉ መተግበሪያዎች ይታያል። እንዲሁም ከብሉቱዝ መሣሪያዎች ጋር ሲገናኙ፣ ከWi-Fi አውታረ መረብ ጋር ሲገናኙ ወይም የWi-Fi መገናኛ ነጥብን ሲያዋቅሩ በሌሎች ሰዎች ሊታይ ይችላል።"</string>
 </resources>
diff --git a/res-product/values-ar/strings.xml b/res-product/values-ar/strings.xml
index f6f3154..1e9a976 100644
--- a/res-product/values-ar/strings.xml
+++ b/res-product/values-ar/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"عند تغيير اتّجاه شاشة جهازك اللوحي بين الوضع العمودي والوضع الأفقي"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"يمكنك تعديل كيفية عرض الألوان على هاتفك."</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"يمكنك تعديل كيفية عرض الألوان على جهازك اللوحي."</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"‏اسم جهازك مرئي للتطبيقات المتوفّرة على هاتفك. ويمكن للمستخدمين الآخرين الاطّلاع عليه عند الاتصال بأجهزة تتضمّن بلوتوث أو الاتصال بشبكة Wi-Fi أو إعداد نقطة اتصال Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"‏اسم جهازك مرئي للتطبيقات المتوفّرة على جهازك اللوحي. ويمكن للمستخدمين الآخرين الاطّلاع عليه عند الاتصال بأجهزة تتضمّن بلوتوث أو الاتصال بشبكة Wi-Fi أو إعداد نقطة اتصال Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-as/strings.xml b/res-product/values-as/strings.xml
index 0bc9299..1cd8a67 100644
--- a/res-product/values-as/strings.xml
+++ b/res-product/values-as/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"আপুনি নিজৰ টেবলেটটো প’ৰ্ট্ৰেইট আৰু লেণ্ডস্কে’পৰ মাজত সালসলনি কৰিলে"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"আপোনাৰ ফ’নত ৰংবোৰ কেনেকৈ প্ৰদৰ্শিত হয় সেয়া মিলাওক"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"আপোনাৰ টেবলেটত ৰংবোৰ কেনেকৈ প্ৰদৰ্শিত হয় সেয়া মিলাওক"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"আপোনাৰ ডিভাইচটোৰ নাম আপোনাৰ ফ’নটোত থকা এপ্‌সমূহৰ বাবে দৃশ্যমান হয়। আপুনি ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ কৰোঁতে, ৱাই-ফাই নেটৱৰ্কৰ সৈতে সংযোগ কৰোঁতে অথবা ৱাই-ফাই হটস্পট ছেট আপ কৰোঁতেও এইটো অন্য লোকে দেখা পাব পাৰে।"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"আপোনাৰ ডিভাইচটোৰ নাম আপোনাৰ টেবলেটটোত থকা এপ্‌সমূহৰ বাবে দৃশ্যমান হয়। আপুনি ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ কৰোঁতে, ৱাই-ফাই নেটৱৰ্কৰ সৈতে সংযোগ কৰোঁতে অথবা ৱাই-ফাই হটস্পট ছেট আপ কৰোঁতেও এইটো অন্য লোকে দেখা পাব পাৰে।"</string>
 </resources>
diff --git a/res-product/values-az/strings.xml b/res-product/values-az/strings.xml
index 40b708c..7179e17 100644
--- a/res-product/values-az/strings.xml
+++ b/res-product/values-az/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Planşet rejimini portret və landşaft arasında dəyişdikdə"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Telefonda rənglərin görünmə qaydasını tənzimləyin"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Planşetdə rənglərin görünmə qaydasını tənzimləyin"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Cihaz adı telefondakı tətbiqlərə görünəcək. Bluetooth cihazlarına, Wi-Fi şəbəkəsinə qoşulduqda və ya Wi-Fi hotspotu ayarladıqda digər şəxslər də onu görə bilər."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Cihaz adı planşetdəki tətbiqlərə görünəcək. Bluetooth cihazlarına, Wi-Fi şəbəkəsinə qoşulduqda və ya Wi-Fi hotspotu ayarladıqda digər şəxslər də onu görə bilər."</string>
 </resources>
diff --git a/res-product/values-b+sr+Latn/strings.xml b/res-product/values-b+sr+Latn/strings.xml
index 0946881..ea64f1f 100644
--- a/res-product/values-b+sr+Latn/strings.xml
+++ b/res-product/values-b+sr+Latn/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kada okrećete tablet u uspravni ili vodoravni režim"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Prilagodite način na koji se boje prikazuju na telefonu"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Prilagodite način na koji se boje prikazuju na tabletu"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Aplikacije na telefonu mogu da vide naziv uređaja. I drugi ljudi mogu da vide naziv uređaja kada se povežete sa Bluetooth uređajima ili WiFi mrežom ili podesite WiFi hotspot."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Aplikacije na tabletu mogu da vide naziv uređaja. I drugi ljudi mogu da vide naziv uređaja kada se povežete sa Bluetooth uređajima ili WiFi mrežom ili podesite WiFi hotspot."</string>
 </resources>
diff --git a/res-product/values-be/strings.xml b/res-product/values-be/strings.xml
index 899dcb6..248ffe5 100644
--- a/res-product/values-be/strings.xml
+++ b/res-product/values-be/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Калі вы паварочваеце планшэт для змянення арыентацыі экрана"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Наладзьце адлюстраванне колераў на экране тэлефона"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Наладзьце адлюстраванне колераў на экране планшэта"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Назва прылады даступная для праграм на вашым тэлефоне. Яе таксама могуць пабачыць іншыя людзі, калі вы падключыцеся да прылад з Bluetooth або да сеткі Wi-Fi ці наладзіце хот-спот Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Назва прылады даступная для праграм на вашым планшэце. Яе таксама могуць пабачыць іншыя людзі, калі вы падключыцеся да прылад з Bluetooth або да сеткі Wi-Fi ці наладзіце хот-спот Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-bg/strings.xml b/res-product/values-bg/strings.xml
index 024442b..a04d9cf 100644
--- a/res-product/values-bg/strings.xml
+++ b/res-product/values-bg/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Когато завъртите таблета си вертикално или хоризонтално"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Коригирайте как цветовете се показват на телефона ви"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Коригирайте как цветовете се показват на таблета ви"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Името на устройството ви е видимо за приложенията на телефона ви. То може да се вижда и от други хора, когато се свържете с устройства с Bluetooth или с Wi-Fi мрежа или настроите точка за достъп до Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Името на устройството ви е видимо за приложенията на таблета ви. То може да се вижда и от други хора, когато се свържете с устройства с Bluetooth или с Wi-Fi мрежа или настроите точка за достъп до Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-bn/strings.xml b/res-product/values-bn/strings.xml
index d0a6a5b..d2acfff 100644
--- a/res-product/values-bn/strings.xml
+++ b/res-product/values-bn/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"আপনার ট্যাবলেট, \'পোর্ট্রেট\' ও \'ল্যান্ডস্কেপ\' মোডের মধ্যে অদলবদল করলে"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"আপনার ফোনে রঙ কীভাবে দেখানো হবে তা অ্যাডজাস্ট করুন"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"আপনার ট্যাবলেটে রঙ কীভাবে দেখানো হবে তা অ্যাডজাস্ট করুন"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"আপনার ফোনের অ্যাপে আপনার ডিভাইসের নাম দেখা যায়। এছাড়াও, আপনি ব্লুটুথ ডিভাইস বা কোনও ওয়াই-ফাই নেটওয়ার্কে কানেক্ট অথবা ওয়াই-ফাই হটস্পট সেট-আপ করলে অন্য লোকজনও এটি দেখতে পেতে পারেন।"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"আপনার ট্যাবলেট অ্যাপে আপনার ডিভাইসের নাম দেখা যায়। এছাড়াও, আপনি ব্লুটুথ ডিভাইস বা কোনও ওয়াই-ফাই নেটওয়ার্কে কানেক্ট অথবা ওয়াই-ফাই হটস্পট সেট-আপ করলে অন্য লোকজনও এটি দেখতে পেতে পারেন।"</string>
 </resources>
diff --git a/res-product/values-bs/strings.xml b/res-product/values-bs/strings.xml
index d9e4c60..3ed4abd 100644
--- a/res-product/values-bs/strings.xml
+++ b/res-product/values-bs/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kada mijenjate prikaz na tabletu između uspravnog i vodoravnog"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Podesite način na koji se boje prikazuju na telefonu"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Podesite način na koji se boje prikazuju na tabletu"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Aplikacije na vašem telefonu će moći vidjeti naziv vašeg uređaja. Također će ga moći vidjeti druge osobe prilikom povezivanja s Bluetooth uređajima i WiFi mrežom ili prilikom postavljanja WiFi pristupne tačke."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Aplikacije na vašem telefonu će moći vidjeti naziv vašeg uređaja. Također će ga moći vidjeti druge osobe prilikom povezivanja s Bluetooth uređajima i WiFi mrežom ili prilikom postavljanja WiFi pristupne tačke."</string>
 </resources>
diff --git a/res-product/values-ca/strings.xml b/res-product/values-ca/strings.xml
index 8fa5a90..b824b62 100644
--- a/res-product/values-ca/strings.xml
+++ b/res-product/values-ca/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Quan canvies entre el mode vertical i horitzontal a la tauleta"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajusta com es mostren els colors al telèfon"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajusta com es mostren els colors a la tauleta"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"El nom del dispositiu és visible per a les aplicacions del telèfon. També el poden veure altres persones si el connectes a un dispositiu Bluetooth o a una xarxa Wi‑Fi, o si configures un punt d\'accés Wi‑Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"El nom del dispositiu és visible per a les aplicacions de la tauleta. També el poden veure altres persones si la connectes a un dispositiu Bluetooth o a una xarxa Wi‑Fi, o si configures un punt d\'accés Wi‑Fi."</string>
 </resources>
diff --git a/res-product/values-cs/strings.xml b/res-product/values-cs/strings.xml
index 6dc3e8e..99a6ee1 100644
--- a/res-product/values-cs/strings.xml
+++ b/res-product/values-cs/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Když tablet otočíte z režimu na výšku do režimu na šířku nebo naopak"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Upravte si zobrazování barev v telefonu"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Upravte si zobrazování barev v tabletu"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Název vašeho zařízení je viditelný pro aplikace v telefonu. Mohou ho vidět také ostatní uživatelé, když se připojíte k zařízení Bluetooth nebo síti Wi-Fi, případně když vytvoříte hotspot Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Název vašeho zařízení je viditelný pro aplikace v tabletu. Mohou ho vidět také ostatní uživatelé, když se připojíte k zařízení Bluetooth nebo síti Wi-Fi, případně když vytvoříte hotspot Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-da/strings.xml b/res-product/values-da/strings.xml
index fa4a49d..7c04331 100644
--- a/res-product/values-da/strings.xml
+++ b/res-product/values-da/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Når du drejer tabletten til stående eller liggende format"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Juster, hvordan farverne vises på din telefon"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Juster, hvordan farverne vises på din tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Din enheds navn er synligt for apps på din telefon. Det kan muligvis også ses af andre, når du opretter forbindelse til Bluetooth-enheder eller et Wi-Fi-netværk, eller når du konfigurerer et Wi-Fi-hotspot."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Din enheds navn er synligt for apps på din tablet. Det kan muligvis også ses af andre, når du opretter forbindelse til Bluetooth-enheder eller et Wi-Fi-netværk, eller når du konfigurerer et Wi-Fi-hotspot."</string>
 </resources>
diff --git a/res-product/values-de/strings.xml b/res-product/values-de/strings.xml
index 6e76a0e..edb4d92 100644
--- a/res-product/values-de/strings.xml
+++ b/res-product/values-de/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Wenn du das Tablet drehst"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Hier kannst du anpassen, wie Farben auf deinem Smartphone dargestellt werden"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Hier kannst du anpassen, wie Farben auf deinem Tablet dargestellt werden"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Dein Gerätename ist für Apps auf deinem Smartphone sichtbar. Wenn du dein Gerät mit Bluetooth-Geräten oder einem WLAN verbindest oder einen WLAN-Hotspot einrichtest, kann der Name möglicherweise auch von anderen Personen gesehen werden."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Dein Gerätename ist für Apps auf deinem Tablet sichtbar. Wenn du dein Gerät mit Bluetooth-Geräten oder einem WLAN verbindest oder einen WLAN-Hotspot einrichtest, kann der Name möglicherweise auch von anderen Personen gesehen werden."</string>
 </resources>
diff --git a/res-product/values-el/strings.xml b/res-product/values-el/strings.xml
index e9323ee..de84ca1 100644
--- a/res-product/values-el/strings.xml
+++ b/res-product/values-el/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Όταν μετακινείτε το tablet σε κατακόρυφο ή οριζόντιο προσανατολισμό"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Προσαρμόστε πώς θα εμφανίζονται τα χρώματα στο τηλέφωνό σας"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Προσαρμόστε πώς θα εμφανίζονται τα χρώματα στο tablet σας"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Το όνομα της συσκευής σας είναι ορατό σε εφαρμογές στο τηλέφωνό σας. Ενδέχεται επίσης να είναι ορατό και σε άλλα άτομα, όταν συνδέεστε σε συσκευές Bluetooth, συνδέεστε σε ένα δίκτυο Wi-Fi ή ρυθμίζετε ένα σημείο πρόσβασης Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Το όνομα της συσκευής σας είναι ορατό σε εφαρμογές στο tablet σας. Ενδέχεται επίσης να είναι ορατό και σε άλλα άτομα, όταν συνδέεστε σε συσκευές Bluetooth, συνδέεστε σε ένα δίκτυο Wi-Fi ή ρυθμίζετε ένα σημείο πρόσβασης Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-en-rAU/strings.xml b/res-product/values-en-rAU/strings.xml
index e6b99dc..1a20458 100644
--- a/res-product/values-en-rAU/strings.xml
+++ b/res-product/values-en-rAU/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Adjust how colours are displayed on your phone"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Adjust how colours are displayed on your tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Your device name is visible to apps on your phone. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Your device name is visible to apps on your tablet. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
 </resources>
diff --git a/res-product/values-en-rCA/strings.xml b/res-product/values-en-rCA/strings.xml
index b64e25b..c59887e 100644
--- a/res-product/values-en-rCA/strings.xml
+++ b/res-product/values-en-rCA/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Adjust how colors display on your phone"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Adjust how colors display on your tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Your device name is visible to apps on your phone. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Your device name is visible to apps on your tablet. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
 </resources>
diff --git a/res-product/values-en-rGB/strings.xml b/res-product/values-en-rGB/strings.xml
index 57bb22d..e0188cf 100644
--- a/res-product/values-en-rGB/strings.xml
+++ b/res-product/values-en-rGB/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Adjust how colours are displayed on your phone"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Adjust how colours are displayed on your tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Your device name is visible to apps on your phone. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Your device name is visible to apps on your tablet. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
 </resources>
diff --git a/res-product/values-en-rIN/strings.xml b/res-product/values-en-rIN/strings.xml
index 57bb22d..e0188cf 100644
--- a/res-product/values-en-rIN/strings.xml
+++ b/res-product/values-en-rIN/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Adjust how colours are displayed on your phone"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Adjust how colours are displayed on your tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Your device name is visible to apps on your phone. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Your device name is visible to apps on your tablet. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
 </resources>
diff --git a/res-product/values-en-rXC/strings.xml b/res-product/values-en-rXC/strings.xml
index fb79cfb..d721f6a 100644
--- a/res-product/values-en-rXC/strings.xml
+++ b/res-product/values-en-rXC/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‎‏‎When you move your tablet between portrait and landscape‎‏‎‎‏‎"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎Adjust how colors display on your phone‎‏‎‎‏‎"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎Adjust how colors display on your tablet‎‏‎‎‏‎"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎Your device name is visible to apps on your phone. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot.‎‏‎‎‏‎"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‎‎‏‏‎‏‎‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‎‎‎‎Your device name is visible to apps on your tablet. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot.‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res-product/values-es-rUS/strings.xml b/res-product/values-es-rUS/strings.xml
index 48a447c..98d3e6e 100644
--- a/res-product/values-es-rUS/strings.xml
+++ b/res-product/values-es-rUS/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Cuando muevas la tablet entre el modo vertical y el horizontal"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajusta cómo se muestran los colores en tu teléfono"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajusta cómo se muestran los colores en tu tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"El nombre de tu dispositivo es visible para las apps del teléfono. Es posible que también lo vean otras personas cuando te conectes a dispositivos Bluetooth o a una red Wi-Fi, o cuando configures un hotspot de Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"El nombre de tu dispositivo es visible para las apps de la tablet. Es posible que también lo vean otras personas cuando te conectes a dispositivos Bluetooth o a una red Wi-Fi, o cuando configures un hotspot de Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-es/strings.xml b/res-product/values-es/strings.xml
index 7baf54a..a2389e9 100644
--- a/res-product/values-es/strings.xml
+++ b/res-product/values-es/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Cuando cambias la tablet entre vertical y horizontal"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajusta cómo se muestran los colores en tu teléfono"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajusta cómo se muestran los colores en tu tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Las aplicaciones de tu teléfono pueden ver el nombre de tu dispositivo. También es posible que lo vean otros usuarios si lo conectas con dispositivos Bluetooth, si te conectas a una red Wi-Fi o si configuras un punto de acceso Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Las aplicaciones de tu teléfono pueden ver el nombre de tu tablet. También es posible que lo vean otros usuarios si la conectas con dispositivos Bluetooth, si te conectas a una red Wi-Fi o si configuras un punto de acceso Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-et/strings.xml b/res-product/values-et/strings.xml
index d5dca6f..240cfdf 100644
--- a/res-product/values-et/strings.xml
+++ b/res-product/values-et/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Liigutades tahvelarvutit vertikaal- ja horisontaalrežiimi vahel"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Kohandage telefonis värvide kuvamist"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Kohandage tahvelarvutis värvide kuvamist"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Teie seadme nimi on teie telefonis olevatele rakendustele nähtav. Bluetooth-seadmetega või WiFi-võrguga ühenduse loomisel või WiFi-kuumkoha seadistamisel võivad seda näha ka teised inimesed."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Teie seadme nimi on teie tahvelarvutis olevatele rakendustele nähtav. Bluetooth-seadmetega või WiFi-võrguga ühenduse loomisel või WiFi-kuumkoha seadistamisel võivad seda näha ka teised inimesed."</string>
 </resources>
diff --git a/res-product/values-eu/strings.xml b/res-product/values-eu/strings.xml
index 520f194..2fd358d 100644
--- a/res-product/values-eu/strings.xml
+++ b/res-product/values-eu/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Tabletaren pantailaren orientazioa bertikaletik horizontalera, eta alderantziz, aldatzen duzunean"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Doitu nola bistaratzen diren koloreak telefonoan"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Doitu nola bistaratzen diren koloreak tabletan"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Mugikorreko aplikazioek gailuaren izena ikus dezakete. Jendeak ere ikus dezake Bluetooth bidezko gailuetara edo wifi-sare batera konektatzean, edo wifi-gune bat konfiguratzean."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Tabletako aplikazioek gailuaren izena ikus dezakete. Jendeak ere ikus dezake Bluetooth bidezko gailuetara edo wifi-sare batera konektatzean, edo wifi-gune bat konfiguratzean."</string>
 </resources>
diff --git a/res-product/values-fa/strings.xml b/res-product/values-fa/strings.xml
index 1e6439d..b18edfb 100644
--- a/res-product/values-fa/strings.xml
+++ b/res-product/values-fa/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"وقتی رایانه لوحی را بین حالت افقی و عمودی جابه‌جا می‌کنید"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"تعیین می‌کنید رنگ‌ها چگونه در تلفن نمایش داده شود"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"تعیین می‌کنید رنگ‌ها چگونه در رایانه لوحی نمایش داده شود"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"‏نام دستگاه شما برای برنامه‌های موجود در تلفنتان قابل‌مشاهده است. همچنین ممکن است هنگام اتصال به دستگاه‌های بلوتوث، اتصال به شبکه Wi-Fi، یا راه‌اندازی نقطه اتصال Wi-Fi، برای افراد دیگر قابل‌مشاهده باشد."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"‏نام دستگاه شما برای برنامه‌های موجود در رایانه لوحی‌تان قابل‌مشاهده است. همچنین ممکن است هنگام اتصال به دستگاه‌های بلوتوث، اتصال به شبکه Wi-Fi، یا راه‌اندازی نقطه اتصال Wi-Fi، برای افراد دیگر قابل‌مشاهده باشد."</string>
 </resources>
diff --git a/res-product/values-fi/strings.xml b/res-product/values-fi/strings.xml
index bdc8220..3f6b182 100644
--- a/res-product/values-fi/strings.xml
+++ b/res-product/values-fi/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kun käännät tabletin pysty- tai vaaka-asentoon"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Muuta värien näkymistä puhelimellasi"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Muuta värien näkymistä tabletillasi"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Puhelimen sovellukset näkevät laitteesi nimen. Myös muut käyttäjät voivat nähdä nimen, kun muodostat Bluetooth-yhteyden laitteisiin, yhteyden Wi-Fi-verkkoon tai aktivoit Wi-Fi-hotspotin."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Tabletin sovellukset näkevät laitteesi nimen. Myös muut käyttäjät voivat nähdä nimen, kun muodostat Bluetooth-yhteyden laitteisiin, yhteyden Wi-Fi-verkkoon tai aktivoit Wi-Fi-hotspotin."</string>
 </resources>
diff --git a/res-product/values-fr-rCA/strings.xml b/res-product/values-fr-rCA/strings.xml
index adf879a..edd21a1 100644
--- a/res-product/values-fr-rCA/strings.xml
+++ b/res-product/values-fr-rCA/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Lorsque vous orientez votre tablette entre les modes portrait et paysage"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajustez l\'affichage des couleurs sur votre téléphone"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajustez l\'affichage des couleurs sur votre tablette"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Le nom de votre appareil est visible pour les applications de votre téléphone. Il est également possible que d\'autres personnes le voient lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Le nom de votre appareil est visible pour les applications de votre tablette. Il est également possible que d\'autres personnes le voient lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-fr/strings.xml b/res-product/values-fr/strings.xml
index f60d7a2..9b31d9e 100644
--- a/res-product/values-fr/strings.xml
+++ b/res-product/values-fr/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Quand vous basculez votre tablette en mode portrait ou paysage"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajuster l\'affichage des couleurs sur votre téléphone"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajuster l\'affichage des couleurs sur votre tablette"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Les applis de votre téléphone ont accès au nom de votre appareil. D\'autres personnes peuvent aussi le voir lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Les applis de votre tablette ont accès au nom de votre appareil. D\'autres personnes peuvent aussi le voir lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-gl/strings.xml b/res-product/values-gl/strings.xml
index b7c919e..4d5f008 100644
--- a/res-product/values-gl/strings.xml
+++ b/res-product/values-gl/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Ao cambiar a tableta do modo vertical ao horizontal"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Axusta a maneira en que se mostran as cores no teléfono"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Axusta a maneira en que se mostran as cores na tableta"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"As aplicacións do teu teléfono poden consultar o nome do teu dispositivo. Tamén poderán velo outros usuarios cando te conectes a dispositivos Bluetooth ou a redes wifi, así como cando configures zonas wifi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"As aplicacións da túa tableta poden consultar o nome do teu dispositivo. Tamén poderán velo outros usuarios cando te conectes a dispositivos Bluetooth ou a redes wifi, así como cando configures zonas wifi."</string>
 </resources>
diff --git a/res-product/values-gu/strings.xml b/res-product/values-gu/strings.xml
index ef16a6e..518d918 100644
--- a/res-product/values-gu/strings.xml
+++ b/res-product/values-gu/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"તમારા ટૅબ્લેટને પોર્ટ્રેટ અને લૅન્ડસ્કેપ વચ્ચેની સ્થિતિમાં ખસેડતી વખતે"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"તમારા ફોન પર રંગો કેવી રીતે બતાવવામાં આવે તેની ગોઠવણી કરો"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"તમારા ટૅબ્લેટ પર રંગો કેવી રીતે બતાવવામાં આવે તેની ગોઠવણી કરો"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"તમારા ફોન પરની ઍપ તમારા ડિવાઇસનું નામ જોઈ શકે છે. તમે બ્લૂટૂથ ડિવાઇસથી કનેક્ટ કરો, કોઈ વાઇ-ફાઇ નેટવર્કથી કનેક્ટ કરો અથવા કોઈ વાઇ-ફાઇ હૉટસ્પૉટ સેટઅપ કરો ત્યારે અન્ય લોકો પણ તે જોઈ શકે છે."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"તમારા ટૅબ્લેટ પરની ઍપ તમારા ડિવાઇસનું નામ જોઈ શકે છે. તમે બ્લૂટૂથ ડિવાઇસથી કનેક્ટ કરો, કોઈ વાઇ-ફાઇ નેટવર્કથી કનેક્ટ કરો અથવા કોઈ વાઇ-ફાઇ હૉટસ્પૉટ સેટઅપ કરો ત્યારે અન્ય લોકો પણ તે જોઈ શકે છે."</string>
 </resources>
diff --git a/res-product/values-hi/strings.xml b/res-product/values-hi/strings.xml
index a6caaa6..44647ae 100644
--- a/res-product/values-hi/strings.xml
+++ b/res-product/values-hi/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"टैबलेट को पोर्ट्रेट से लैंडस्केप मोड में स्विच करने पर, स्क्रीन अपने-आप घूम जाएगी"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"अपने फ़ोन पर रंगों के दिखने का तरीका बदलें"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"अपने टैबलेट पर रंगों के दिखने का तरीका बदलें"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"आपके फ़ोन पर मौजूद ऐप्लिकेशन, डिवाइस के नाम की जानकारी ऐक्सेस कर सकते हैं. इसके अलावा, ब्लूटूथ डिवाइसों या वाई-फ़ाई नेटवर्क से कनेक्ट करने पर या वाई-फ़ाई हॉटस्पॉट सेट अप करने पर, अन्य लोग भी इसे देख सकते हैं."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"आपके टैबलेट पर मौजूद ऐप्लिकेशन, डिवाइस के नाम की जानकारी ऐक्सेस कर सकते हैं. इसके अलावा, ब्लूटूथ डिवाइसों या वाई-फ़ाई नेटवर्क से कनेक्ट करने पर या वाई-फ़ाई हॉटस्पॉट सेट अप करने पर, अन्य लोग भी इसे देख सकते हैं."</string>
 </resources>
diff --git a/res-product/values-hr/strings.xml b/res-product/values-hr/strings.xml
index 8d94226d..c2a0238 100644
--- a/res-product/values-hr/strings.xml
+++ b/res-product/values-hr/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kad izmjenjujete prikaz zaslona tableta između okomitog i vodoravnog"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Prilagodite način prikazivanja boja na telefonu"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Prilagodite način prikazivanja boja na svojem tabletu."</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Naziv vašeg uređaja vidljiv je aplikacijama na vašem telefonu. Mogu ga vidjeti i drugi ljudi kada se povežete s Bluetooth uređajima ili Wi-Fi mrežom ili postavite Wi-Fi žarišnu točku."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Naziv vašeg uređaja vidljiv je aplikacijama na vašem tabletu. Mogu ga vidjeti i drugi ljudi kada se povežete s Bluetooth uređajima ili Wi-Fi mrežom ili postavite Wi-Fi žarišnu točku."</string>
 </resources>
diff --git a/res-product/values-hu/strings.xml b/res-product/values-hu/strings.xml
index 82c9fb8..87d280e 100644
--- a/res-product/values-hu/strings.xml
+++ b/res-product/values-hu/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Amikor Ön álló vagy fekvő helyzetbe fordítja a táblagépet"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Beállíthatja, hogy a színek miként jelenjenek meg a telefonon"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Beállíthatja, hogy a színek miként jelenjenek meg a táblagépen"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Eszköze neve látható a telefonján lévő alkalmazások számára. Mások is láthatják, ha csatlakoztatja telefonját más Bluetooth-eszközökhöz, Wi-Fi-hálózathoz, vagy ha Wi-Fi-hotspotot állít be."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Eszköze neve látható a táblagépén lévő alkalmazások számára. Mások is láthatják, ha csatlakoztatja telefonját más Bluetooth-eszközökhöz, Wi-Fi-hálózathoz, vagy ha Wi-Fi-hotspotot állít be."</string>
 </resources>
diff --git a/res-product/values-hy/strings.xml b/res-product/values-hy/strings.xml
index 3d4c34e..9b8da87 100644
--- a/res-product/values-hy/strings.xml
+++ b/res-product/values-hy/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Փոխել էկրանի դիրքը ուղղաձիգի/հորիզոնականի՝ պլանշետը պտտելիս"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Կարգավորեք գույների ցուցադրումը ձեր հեռախոսում"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Կարգավորեք գույների ցուցադրումը ձեր պլանշետում"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Ձեր սարքի անունը տեսանելի է հեռախոսում տեղադրված հավելվածներին։ Այն կարող են տեսնել օգտատերերը, երբ միանում եք Bluetooth սարքերի, Wi-Fi ցանցի, կամ կարգավորում եք Wi-Fi թեժ կետ։"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Ձեր սարքի անունը տեսանելի է պլանշետում տեղադրված հավելվածներին։ Այն կարող են տեսնել օգտատերերը, երբ միանում եք Bluetooth սարքերի, Wi-Fi ցանցի, կամ կարգավորում եք Wi-Fi թեժ կետ։"</string>
 </resources>
diff --git a/res-product/values-in/strings.xml b/res-product/values-in/strings.xml
index 523e215..510d9bc 100644
--- a/res-product/values-in/strings.xml
+++ b/res-product/values-in/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Saat Anda berganti mode tablet antara potret dan lanskap"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Sesuaikan tampilan warna di ponsel Anda"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Sesuaikan tampilan warna di tablet Anda"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Nama perangkat Anda dapat dilihat oleh aplikasi di ponsel. Juga mungkin dilihat oleh orang lain saat Anda terhubung ke perangkat Bluetooth atau jaringan Wi-Fi, atau saat menyiapkan hotspot Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Nama perangkat Anda dapat dilihat oleh aplikasi di tablet. Juga mungkin dilihat oleh orang lain saat Anda terhubung ke perangkat Bluetooth atau jaringan Wi-Fi, atau saat menyiapkan hotspot Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-is/strings.xml b/res-product/values-is/strings.xml
index 9743de1..65ce579 100644
--- a/res-product/values-is/strings.xml
+++ b/res-product/values-is/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Þegar þú skiptir á milli skammsniðs og langsniðs í spjaldtölvunni"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Stilltu litabirtingu í símanum þínum"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Stilltu litabirtingu í spjaldtölvunni þinni"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Heiti tækisins þíns er sýnilegt forritum í símanum. Heiti þess er hugsanlega einnig sýnilegt öðru fólki þegar þú tengist Bluetooth-tækjum, WiFi-neti eða setur upp heitan WiFi-reit."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Heiti tækisins þíns er sýnilegt forritum í spjaldtölvunni. Heiti þess er hugsanlega einnig sýnilegt öðru fólki þegar þú tengist Bluetooth-tækjum, WiFi-neti eða setur upp heitan WiFi-reit."</string>
 </resources>
diff --git a/res-product/values-it/strings.xml b/res-product/values-it/strings.xml
index 0fa9569..db78d29 100644
--- a/res-product/values-it/strings.xml
+++ b/res-product/values-it/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Quando ruoti il tablet in orizzontale e verticale"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Regola la modalità di visualizzazione dei colori sullo smartphone"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Regola la modalità di visualizzazione dei colori sul tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Il nome del tuo dispositivo è visibile alle app installate sullo smartphone. Potrebbe essere visibile anche ad altre persone quando ti connetti a dispositivi Bluetooth, a una rete Wi-Fi o configuri un hotspot Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Il nome del tuo dispositivo è visibile alle app installate sul tablet. Potrebbe essere visibile anche ad altre persone quando ti connetti a dispositivi Bluetooth, a una rete Wi-Fi o configuri un hotspot Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-iw/strings.xml b/res-product/values-iw/strings.xml
index 30d1fad..0caeca5 100644
--- a/res-product/values-iw/strings.xml
+++ b/res-product/values-iw/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"כשמזיזים את הטאבלט ממצב \'לאורך\' למצב \'לרוחב\' ולהפך"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"כוונון של תצוגת הצבעים בטלפון"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"כוונון של תצוגת הצבעים בטאבלט"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"‏שם המכשיר שלך גלוי לאפליקציות בטלפון. כמו כן, ייתכן שאנשים אחרים יראו אותו בהתחברות למכשירי Bluetooth, לרשת Wi-Fi, או בהגדרת נקודת Wi-Fi לשיתוף אינטרנט."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"‏שם המכשיר שלך גלוי לאפליקציות בטאבלט. כמו כן, ייתכן שאנשים אחרים יראו אותו בהתחברות למכשירי Bluetooth, לרשת Wi-Fi, או בהגדרת נקודת Wi-Fi לשיתוף אינטרנט."</string>
 </resources>
diff --git a/res-product/values-ja/strings.xml b/res-product/values-ja/strings.xml
index ddead75..8b1b626 100644
--- a/res-product/values-ja/strings.xml
+++ b/res-product/values-ja/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"タブレットを動かして縦向きと横向きを切り替えたとき"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"スマートフォンでの色表示を補正できます"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"タブレットでの色表示を補正できます"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"デバイス名がスマートフォンのアプリに表示されます。また、Bluetooth デバイスや Wi-Fi ネットワークに接続したり Wi-Fi アクセス ポイントを設定したりすると、他のユーザーもデバイス名を確認できるようになります。"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"デバイス名がタブレットのアプリに表示されます。また、Bluetooth デバイスや Wi-Fi ネットワークに接続したり Wi-Fi アクセス ポイントを設定したりすると、他のユーザーもデバイス名を確認できるようになります。"</string>
 </resources>
diff --git a/res-product/values-ka/strings.xml b/res-product/values-ka/strings.xml
index 19cffb3..9345e7a 100644
--- a/res-product/values-ka/strings.xml
+++ b/res-product/values-ka/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"როცა ტაბლეტი პორტრეტის რეჟიმიდან პეიზაჟის რეჟიმზე გადაგყავთ"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"დააკორექტირეთ, როგორ გამოჩნდეს ფერები თქვენს ტელეფონში"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"დააკორექტირეთ, როგორ გამოჩნდეს ფერები თქვენს ტაბლეტში"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"თქვენი მოწყობილობის სახელი ხილულია თქვენს ტელეფონზე არსებული აპებისთვის. მის დანახვას შეძლებენ სხვა პირებიც, როცა Bluetooth მოწყობილობებს ან Wi-Fi ქსელს დაუკავშირდებით, ან Wi-Fi უსადენო ქსელს დააყენებთ."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"თქვენი მოწყობილობის სახელი ხილულია თქვენს ტაბლეტზე არსებული აპებისთვის. მის დანახვას შეძლებენ სხვა პირებიც, როცა Bluetooth მოწყობილობებს ან Wi-Fi ქსელს დაუკავშირდებით, ან Wi-Fi უსადენო ქსელს დააყენებთ."</string>
 </resources>
diff --git a/res-product/values-kk/strings.xml b/res-product/values-kk/strings.xml
index 33e4785..f72e6d4 100644
--- a/res-product/values-kk/strings.xml
+++ b/res-product/values-kk/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Планшетті портрет және альбом режимі арасында ауыстырғанда"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Телефоныңызда түстердің қалай көрсетілетінін реттеңіз."</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Планшетіңізде түстердің қалай көрсетілетінін реттеңіз."</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Құрылғыңыздың аты телефоныңыздағы қолданбаларға көрінеді. Bluetooth құрылғыларына, Wi-Fi желісіне қосылғанда немесе Wi-Fi хотспотын орнатқанда, басқа адамдарға да көрінуі мүмкін."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Құрылғыңыздың аты планшетіңіздегі қолданбаларға көрінеді. Bluetooth құрылғыларына, Wi-Fi желісіне қосылғанда немесе Wi-Fi хотспотын орнатқанда, басқа адамдарға да көрінуі мүмкін."</string>
 </resources>
diff --git a/res-product/values-km/strings.xml b/res-product/values-km/strings.xml
index 5339c78..087c29c 100644
--- a/res-product/values-km/strings.xml
+++ b/res-product/values-km/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"នៅពេលដែល​អ្នកដាក់ថេប្លេត​របស់អ្នកឱ្យ​បញ្ឈរ និងផ្ដេក"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"កែតម្រូវរបៀបដែលពណ៌បង្ហាញនៅលើទូរសព្ទរបស់អ្នក"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"កែតម្រូវ​របៀបដែលពណ៌​បង្ហាញនៅលើ​ថេប្លេត​របស់អ្នក"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"ឈ្មោះ​ឧបករណ៍​របស់អ្នក​អាច​ឱ្យ​កម្មវិធី​នៅលើ​ទូរសព្ទ​របស់អ្នក​មើលឃើញ។ វាក៏​អាចឱ្យ​អ្នកដទៃ​មើលឃើញ​ផងដែរ នៅពេលអ្នក​ភ្ជាប់​ជាមួយឧបករណ៍​ប៊្លូធូស បណ្ដាញ Wi-Fi ឬរៀបចំ ហតស្ប៉ត Wi-Fi។"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"ឈ្មោះ​ឧបករណ៍​របស់អ្នក​អាច​ឱ្យ​កម្មវិធី​នៅលើថេប្លេត​របស់អ្នក​មើលឃើញ។ វាក៏​អាចឱ្យ​អ្នកដទៃ​មើលឃើញ​ផងដែរ នៅពេលអ្នក​ភ្ជាប់​ជាមួយឧបករណ៍​ប៊្លូធូស បណ្ដាញ Wi-Fi ឬរៀបចំ ហតស្ប៉ត Wi-Fi។"</string>
 </resources>
diff --git a/res-product/values-kn/strings.xml b/res-product/values-kn/strings.xml
index 21a92fe..cea2ad9 100644
--- a/res-product/values-kn/strings.xml
+++ b/res-product/values-kn/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಪೋರ್ಟ್ರೇಟ್ ಹಾಗೂ ಲ್ಯಾಂಡ್‌ಸ್ಕೇಪ್ ನಡುವೆ ಬದಲಾಯಿಸಿದಾಗ"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ನಿಮ್ಮ ಫೋನ್‌ನಲ್ಲಿ ಬಣ್ಣಗಳು ಹೇಗೆ ಡಿಸ್‌ಪ್ಲೇ ಆಗಬೇಕೆಂದು ಅಡ್ಜಸ್ಟ್‌ ಮಾಡಿ"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌ನಲ್ಲಿ ಬಣ್ಣಗಳು ಹೇಗೆ ಡಿಸ್‌ಪ್ಲೇ ಆಗಬೇಕೆಂದು ಅಡ್ಜಸ್ಟ್‌ ಮಾಡಿ"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"ನಿಮ್ಮ ಫೋನ್‌ನಲ್ಲಿರುವ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮ್ಮ ಸಾಧನದ ಹೆಸರು ಗೋಚರಿಸುತ್ತದೆ. ನೀವು ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳಿಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ, ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ ಅಥವಾ ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿದಾಗ ಇತರ ಜನರು ಸಹ ಅದನ್ನು ನೋಡಬಹುದು."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌ನಲ್ಲಿರುವ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮ್ಮ ಸಾಧನದ ಹೆಸರು ಗೋಚರಿಸುತ್ತದೆ. ನೀವು ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳಿಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ, ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ ಅಥವಾ ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿದಾಗ ಇತರ ಜನರು ಸಹ ಅದನ್ನು ನೋಡಬಹುದು."</string>
 </resources>
diff --git a/res-product/values-ko/strings.xml b/res-product/values-ko/strings.xml
index 1d5b4d5..3f00a22 100644
--- a/res-product/values-ko/strings.xml
+++ b/res-product/values-ko/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"태블릿을 가로 또는 세로로 움직이면 자동으로 방향 전환"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"휴대전화에서 색상이 표시되는 방식을 조정합니다."</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"태블릿에서 색상이 표시되는 방식을 조정합니다."</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"휴대전화에 있는 앱에 내 기기 이름이 표시됩니다. 블루투스 기기 및 Wi-Fi 네트워크에 연결하거나 Wi-Fi 핫스팟을 설정할 때도 기기 이름이 다른 사용자에게 표시될 수 있습니다."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"태블릿에 있는 앱에 내 기기 이름이 표시됩니다. 블루투스 기기 및 Wi-Fi 네트워크에 연결하거나 Wi-Fi 핫스팟을 설정할 때도 기기 이름이 다른 사용자에게 표시될 수 있습니다."</string>
 </resources>
diff --git a/res-product/values-ky/strings.xml b/res-product/values-ky/strings.xml
index d52aba0..dd7c93f 100644
--- a/res-product/values-ky/strings.xml
+++ b/res-product/values-ky/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Планшетти тигинен же туурасынан кармаганда"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Телефонуңуздагы түстөрдү тууралаңыз"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Планшетиңиздеги түстөрдү тууралаңыз"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Түзмөгүңүздүн аталышы телефонуңуздагы колдонмолорго көрүнүп турат. Ошондой эле, Bluetooth түзмөктөрүнө, Wi‑Fi тармагына туташып же Wi‑Fi байланыш түйүнүн тууралаганыңызда башка адамдарга көрүнүшү мүмкүн."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Түзмөгүңүздүн аталышы планшетиңиздеги колдонмолорго көрүнүп турат. Ошондой эле, Bluetooth түзмөктөрүнө, Wi‑Fi тармагына туташып же Wi‑Fi байланыш түйүнүн тууралаганыңызда башка адамдарга көрүнүшү мүмкүн."</string>
 </resources>
diff --git a/res-product/values-lo/strings.xml b/res-product/values-lo/strings.xml
index 81c2400..5f20f7f 100644
--- a/res-product/values-lo/strings.xml
+++ b/res-product/values-lo/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ເມື່ອທ່ານປິ່ນແທັບເລັດຂອງທ່ານໄປມາລະຫວ່າງແນວຕັ້ງ ແລະ ແນວນອນ"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ປັບວິທີສະແດງສີໃນໂທລະສັບຂອງທ່ານ"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ປັບວິທີສະແດງສີໃນແທັບເລັດຂອງທ່ານ"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"ຊື່ອຸປະກອນຂອງທ່ານຈະສະແດງໃຫ້ແອັບຕ່າງໆຢູ່ໂທລະສັບເຫັນ. ມັນອາດຖືກສະແດງໃຫ້ຄົນອື່ນເຫັນໃນເວລາທີ່ທ່ານເຊື່ອມຕໍ່ຫາອຸປະກອນ Bluetooth, ເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍ Wi-Fi ຫຼື ຕັ້ງຄ່າຮັອດສະປອດ Wi-Fi ນຳ."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"ຊື່ອຸປະກອນຂອງທ່ານຈະສະແດງໃຫ້ແອັບຕ່າງໆຢູ່ແທັບເລັດຂອງທ່ານເຫັນ. ມັນອາດຖືກສະແດງໃຫ້ຄົນອື່ນເຫັນໃນເວລາທີ່ທ່ານເຊື່ອມຕໍ່ຫາອຸປະກອນ Bluetooth, ເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍ Wi-Fi ຫຼື ຕັ້ງຄ່າຮັອດສະປອດ Wi-Fi ນຳ."</string>
 </resources>
diff --git a/res-product/values-lt/strings.xml b/res-product/values-lt/strings.xml
index ae52b9a..4aeb44e 100644
--- a/res-product/values-lt/strings.xml
+++ b/res-product/values-lt/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kai pasukate planšetinį kompiuterį stačiai ar gulsčiai"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Koreguokite, kaip telefone rodomos spalvos"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Koreguokite, kaip planšetiniame kompiuteryje rodomos spalvos"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Įrenginio pavadinimas matomas jūsų telefone esančioms programoms. Kai prisijungiate prie „Bluetooth“ įrenginių ar „Wi-FI“ tinklo arba nustatote „Wi-Fi“ viešosios interneto prieigos tašką, jį taip pat gali matyti kiti žmonės."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Įrenginio pavadinimas matomas jūsų planšetiniame kompiuteryje esančioms programoms. Kai prisijungiate prie „Bluetooth“ įrenginių ar „Wi-FI“ tinklo arba nustatote „Wi-Fi“ viešosios interneto prieigos tašką, jį taip pat gali matyti kiti žmonės."</string>
 </resources>
diff --git a/res-product/values-lv/strings.xml b/res-product/values-lv/strings.xml
index 5a9c65a..efd1536 100644
--- a/res-product/values-lv/strings.xml
+++ b/res-product/values-lv/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Pārvietojot planšetdatoru no portreta režīma ainavas režīmā vai otrādi"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Pielāgojiet krāsu attēlojumu savā tālrunī"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Pielāgojiet krāsu attēlojumu savā planšetdatorā"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Jūsu ierīces nosaukums ir redzams tālrunī instalētajām lietotnēm. Tas var būt redzams arī citām personām, ja izveidosiet savienojumu ar Bluetooth ierīcēm, Wi-Fi tīklu vai iestatīsiet Wi-Fi tīklāju."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Jūsu ierīces nosaukums ir redzams planšetdatorā instalētajām lietotnēm. Tas var būt redzams arī citām personām, ja izveidosiet savienojumu ar Bluetooth ierīcēm, Wi-Fi tīklu vai iestatīsiet Wi-Fi tīklāju."</string>
 </resources>
diff --git a/res-product/values-mk/strings.xml b/res-product/values-mk/strings.xml
index 1ed6ba0..8507a3c 100644
--- a/res-product/values-mk/strings.xml
+++ b/res-product/values-mk/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Менување меѓу портрет и пејзаж кога го движите таблетот"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Приспособете го приказот на боите на телефонот"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Приспособете го приказот на боите на таблетот"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Името на уредот е видливо за апликациите на телефонот. Може да го видат и други луѓе кога ќе се поврзете со уреди со Bluetooth, на Wi-Fi мрежа или кога ќе поставите точка на пристап за Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Името на уредот е видливо за апликациите на таблетот. Може да го видат и други луѓе кога ќе се поврзете со уреди со Bluetooth, на Wi-Fi мрежа или кога ќе поставите точка на пристап за Wi‑Fi."</string>
 </resources>
diff --git a/res-product/values-ml/strings.xml b/res-product/values-ml/strings.xml
index d2bd430..b9b90fb 100644
--- a/res-product/values-ml/strings.xml
+++ b/res-product/values-ml/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"പോർട്രെയ്‌റ്റിനും ലാൻഡ്സ്കേപ്പിനും ഇടയിൽ നിങ്ങളുടെ ടാബ്‌ലെറ്റ് തിരിക്കുമ്പോൾ"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"നിങ്ങളുടെ ഫോണിൽ നിറങ്ങൾ എങ്ങനെ പ്രദർശിപ്പിക്കണമെന്ന് ക്രമീകരിക്കുക"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"നിങ്ങളുടെ ടാബ്‌ലെറ്റിൽ നിറങ്ങൾ എങ്ങനെ പ്രദർശിപ്പിക്കണമെന്ന് ക്രമീകരിക്കുക"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"ഫോണിലെ ആപ്പുകൾക്ക് നിങ്ങളുടെ ഉപകരണത്തിന്റെ പേര് ദൃശ്യമാണ്. Bluetooth ഉപകരണങ്ങളിലേക്കോ വൈഫൈ നെറ്റ്‌വർക്കിലേക്കോ കണക്റ്റ് ചെയ്യുമ്പോഴോ ഒരു വൈഫൈ ഹോട്ട്സ്പോട്ട് സജ്ജീകരിക്കുമ്പോഴോ ഇത് മറ്റ് ആളുകൾക്കും കാണാനായേക്കും."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"ടാബ്‌ലെറ്റിലെ ആപ്പുകൾക്ക് നിങ്ങളുടെ ഉപകരണത്തിന്റെ പേര് ദൃശ്യമാണ്. Bluetooth ഉപകരണങ്ങളിലേക്കോ വൈഫൈ നെറ്റ്‌വർക്കിലേക്കോ കണക്റ്റ് ചെയ്യുമ്പോഴോ ഒരു വൈഫൈ ഹോട്ട്സ്പോട്ട് സജ്ജീകരിക്കുമ്പോഴോ ഇത് മറ്റ് ആളുകൾക്കും കാണാനായേക്കും."</string>
 </resources>
diff --git a/res-product/values-mn/strings.xml b/res-product/values-mn/strings.xml
index d841ac8..542cde7 100644
--- a/res-product/values-mn/strings.xml
+++ b/res-product/values-mn/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Таныг таблетаа босоо болон хөндлөн чиглэлийн хооронд шилжүүлэх үед"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Таны утсан дээр өнгийг хэрхэн үзүүлэхийг тохируулна уу"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Таны таблет дээр өнгийг хэрхэн үзүүлэхийг тохируулна уу"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Таны төхөөрөмжийн нэр утасны тань аппуудад харагдана. Таныг Bluetooth төхөөрөмжүүд, Wi-Fi сүлжээнд холбогдох эсвэл Wi-Fi сүлжээний цэг тохируулах үед үүнийг мөн бусад хүн харж магадгүй."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Таны төхөөрөмжийн нэр таблетын тань аппуудад харагдана. Таныг Bluetooth төхөөрөмжүүд, Wi-Fi сүлжээнд холбогдох эсвэл Wi-Fi сүлжээний цэг тохируулах үед үүнийг мөн бусад хүн харж магадгүй."</string>
 </resources>
diff --git a/res-product/values-mr/strings.xml b/res-product/values-mr/strings.xml
index 1f572ca..3e96e06 100644
--- a/res-product/values-mr/strings.xml
+++ b/res-product/values-mr/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"तुम्ही टॅबलेट हा पोर्ट्रेट व लॅंडस्केप मोडदरम्यान हलवल्यास"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"तुमच्या फोनवर रंग कसे दाखवले जातात ते अ‍ॅडजस्ट करा"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"तुमच्या टॅबलेटवर रंग कसे दाखवले जातात ते अ‍ॅडजस्ट करा"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"तुमच्या डिव्हाइसचे नाव तुमच्या फोनवरील ॲप्सना दिसते. तुम्ही ब्लूटूथ डिव्हाइसशी कनेक्ट करता, वाय-फाय नेटवर्कशी कनेक्ट करता किंवा वाय-फाय हॉटस्पॉट सेट करता, तेव्हा हे इतर लोकदेखील पाहू शकतात."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"तुमच्या डिव्हाइसचे नाव तुमच्या टॅबलेटवरील ॲप्सना दिसते. तुम्ही ब्लूटूथ डिव्हाइसशी कनेक्ट करता, वाय-फाय नेटवर्कशी कनेक्ट करता किंवा वाय-फाय हॉटस्पॉट सेट करता, तेव्हा हे इतर लोकदेखील पाहू शकतात."</string>
 </resources>
diff --git a/res-product/values-ms/strings.xml b/res-product/values-ms/strings.xml
index 00f7d60..31be550 100644
--- a/res-product/values-ms/strings.xml
+++ b/res-product/values-ms/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Apabila anda menggerakkan tablet anda antara potret dengan landskap"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Laraskan cara warna dipaparkan pada telefon anda"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Laraskan cara warna dipaparkan pada tablet anda"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Nama peranti anda boleh dilihat oleh apl pada telefon anda. Nama peranti anda juga boleh dilihat oleh orang lain apabila anda menyambung kepada peranti Bluetooth, menyambung kepada rangkaian Wi-Fi atau menyediakan tempat liputan Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Nama peranti anda boleh dilihat oleh apl pada tablet anda. Nama peranti anda juga boleh dilihat oleh orang lain apabila anda menyambung kepada peranti Bluetooth, menyambung kepada rangkaian Wi-Fi atau menyediakan tempat liputan Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-my/strings.xml b/res-product/values-my/strings.xml
index 12793dc..42a5997 100644
--- a/res-product/values-my/strings.xml
+++ b/res-product/values-my/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"သင့်တက်ဘလက်ကို အလျားလိုက်နှင့် ဒေါင်လိုက် ပြောင်းသောအခါ"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"သင့်ဖုန်းတွင် အရောင်များပြသပုံကို ချိန်ညှိနိုင်သည်"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"သင့်တက်ဘလက်တွင် အရောင်များပြသပုံကို ချိန်ညှိနိုင်သည်"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"သင့်စက်အမည်ကို သင့်ဖုန်းပေါ်ရှိ အက်ပ်များက မြင်ရပါသည်။ ဘလူးတုသ်သုံးစက်များသို့ ချိတ်ဆက်သည့်အခါ၊ Wi-Fi ကွန်ရက်သို့ ချိတ်ဆက်သည့်အခါ (သို့) Wi-Fi ဟော့စပေါ့ ထုတ်လွှင့်သည့်အခါ တို့တွင်လည်း ၎င်းကို အခြားသူများက မြင်နိုင်ပါသည်။"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"သင့်စက်အမည်ကို သင့်တက်ဘလက်ပေါ်ရှိ အက်ပ်များက မြင်ရပါသည်။ ဘလူးတုသ်သုံးစက်များသို့ ချိတ်ဆက်သည့်အခါ၊ Wi-Fi ကွန်ရက်သို့ ချိတ်ဆက်သည့်အခါ (သို့) Wi-Fi ဟော့စပေါ့ ထုတ်လွှင့်သည့်အခါ တို့တွင်လည်း ၎င်းကို အခြားသူများက မြင်နိုင်ပါသည်။"</string>
 </resources>
diff --git a/res-product/values-nb/strings.xml b/res-product/values-nb/strings.xml
index 0ba130b..d144bc0 100644
--- a/res-product/values-nb/strings.xml
+++ b/res-product/values-nb/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Når du beveger nettbrettet mellom stående og liggende format"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Juster hvordan farger vises på telefonen"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Juster hvordan farger vises på nettbrettet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Enhetsnavnet ditt er synlig for apper på telefonen. Det kan også ses av andre personer når du kobler til Bluetooth-enheter, kobler til et Wifi-nettverk eller konfigurerer en wifi-sone."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Enhetsnavnet ditt er synlig for apper på nettbrettet. Det kan også ses av andre personer når du kobler til Bluetooth-enheter, kobler til et Wi-Fi-nettverk eller konfigurerer en Wi-Fi-sone."</string>
 </resources>
diff --git a/res-product/values-ne/strings.xml b/res-product/values-ne/strings.xml
index 85234af..9aafbbb 100644
--- a/res-product/values-ne/strings.xml
+++ b/res-product/values-ne/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"तपाईंले आफ्नो ट्याब्लेट पोर्ट्रेट र ल्यान्डस्केपबिच अदलबदल गर्दा"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"तपाईंको फोनमा रङहरू कस्ता देखिन्छन् भन्ने कुरा मिलाउनुहोस्"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"तपाईंको ट्याब्लेटमा रङहरू कस्ता देखिन्छन् भन्ने कुरा मिलाउनुहोस्"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"तपाईंका फोनमा रहेका एपहरूले तपाईंको डिभाइसको नाम हेर्न सक्छन्। तपाईंले ब्लुटुथ चल्ने डिभाइसमा कनेक्ट गर्दा, कुनै Wi-Fi नेटवर्कमा कनेक्ट गर्दा वा कुनै Wi-Fi हटस्पट सेटअप गर्दा अरू मान्छेहरूले पनि डिभाइसको नाम देख्न सक्छन्।"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"तपाईंका ट्याब्लेटमा रहेका एपहरूले तपाईंको डिभाइसको नाम हेर्न सक्छन्। तपाईंले ब्लुटुथ चल्ने डिभाइसमा कनेक्ट गर्दा, कुनै Wi-Fi नेटवर्कमा कनेक्ट गर्दा वा कुनै Wi-Fi हटस्पट सेटअप गर्दा अरू मान्छेहरूले पनि डिभाइसको नाम देख्न सक्छन्।"</string>
 </resources>
diff --git a/res-product/values-nl/strings.xml b/res-product/values-nl/strings.xml
index 32b70df..049dd71 100644
--- a/res-product/values-nl/strings.xml
+++ b/res-product/values-nl/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Als je wisselt tussen de staande en liggende tabletstand"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Pas aan hoe kleuren worden getoond op je telefoon"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Pas aan hoe kleuren worden getoond op je telefoon"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Je apparaatnaam is zichtbaar voor apps op je telefoon. De apparaatnaam kan ook door andere mensen worden gezien als je verbinding maakt met bluetooth-apparaten of een wifi-netwerk, of als je een wifi-hotspot instelt."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Je apparaatnaam is zichtbaar voor apps op je tablet. De apparaatnaam kan ook door andere mensen worden gezien als je verbinding maakt met bluetooth-apparaten of een wifi-netwerk, of als je een wifi-hotspot instelt."</string>
 </resources>
diff --git a/res-product/values-or/strings.xml b/res-product/values-or/strings.xml
index b5c72d3..a1b8f3e 100644
--- a/res-product/values-or/strings.xml
+++ b/res-product/values-or/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ଆପଣ ଆପଣଙ୍କ ଟାବଲେଟକୁ ପୋର୍ଟ୍ରେଟ ଓ ଲାଣ୍ଡସ୍କେପ ମଧ୍ୟରେ ମୁଭ କଲେ"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ଆପଣଙ୍କ ଫୋନରେ ରଙ୍ଗଗୁଡ଼ିକ କିପରି ଡିସପ୍ଲେ ହୁଏ ତାହା ଆଡଜଷ୍ଟ କରନ୍ତୁ"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ଆପଣଙ୍କ ଟାବଲେଟରେ ରଙ୍ଗଗୁଡ଼ିକ କିପରି ଡିସପ୍ଲେ ହୁଏ ତାହା ଆଡଜଷ୍ଟ କରନ୍ତୁ"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"ଆପଣଙ୍କ ଫୋନରେ ଥିବା ଆପ୍ସକୁ ଆପଣଙ୍କ ଡିଭାଇସ ନାମ ଦୃଶ୍ୟମାନ ହୋଇଥାଏ। ଯେତେବେଳେ ଆପଣ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ କନେକ୍ଟ କରନ୍ତି, ଏକ ୱାଇ-ଫାଇ ନେଟୱାର୍କ ସହ କନେକ୍ଟ କରନ୍ତି କିମ୍ବା ଏକ ୱାଇ-ଫାଇ ହଟସ୍ପଟ ସେଟ ଅପ କରନ୍ତି, ସେତେବେଳେ ଏହା ଅନ୍ୟ ଲୋକମାନଙ୍କୁ ମଧ୍ୟ ଦେଖାଯାଇପାରେ।"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"ଆପଣଙ୍କ ଟାବଲେଟରେ ଥିବା ଆପ୍ସକୁ ଆପଣଙ୍କ ଡିଭାଇସ ନାମ ଦୃଶ୍ୟମାନ ହୋଇଥାଏ। ଯେତେବେଳେ ଆପଣ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ କନେକ୍ଟ କରନ୍ତି, ଏକ ୱାଇ-ଫାଇ ନେଟୱାର୍କ ସହ କନେକ୍ଟ କରନ୍ତି କିମ୍ବା ଏକ ୱାଇ-ଫାଇ ହଟସ୍ପଟ ସେଟ ଅପ କରନ୍ତି, ସେତେବେଳେ ଏହା ଅନ୍ୟ ଲୋକମାନଙ୍କୁ ମଧ୍ୟ ଦେଖାଯାଇପାରେ।"</string>
 </resources>
diff --git a/res-product/values-pa/strings.xml b/res-product/values-pa/strings.xml
index 0aa05f4..4451019 100644
--- a/res-product/values-pa/strings.xml
+++ b/res-product/values-pa/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਟੈਬਲੈੱਟ \'ਤੇ ਪੋਰਟਰੇਟ ਅਤੇ ਲੈਂਡਸਕੇਪ ਮੋਡ ਵਿਚਕਾਰ ਅਦਲਾ-ਬਦਲੀ ਕਰਦੇ ਹੋ"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ਆਪਣੇ ਫ਼ੋਨ \'ਤੇ ਰੰਗਾਂ ਨੂੰ ਦਿਖਾਉਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ਆਪਣੇ ਟੈਬਲੈੱਟ \'ਤੇ ਰੰਗਾਂ ਨੂੰ ਦਿਖਾਉਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਨਾਮ ਤੁਹਾਡੇ ਫ਼ੋਨ \'ਤੇ ਐਪਾਂ ਨੂੰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਇਸਨੂੰ ਤੁਹਾਡੇ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰਨ, ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਜਾਂ ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਸੈੱਟਅੱਪ ਕਰਨ \'ਤੇ ਹੋਰ ਲੋਕਾਂ ਵੱਲੋਂ ਵੀ ਦੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਨਾਮ ਤੁਹਾਡੇ ਟੈਬਲੈੱਟ \'ਤੇ ਐਪਾਂ ਨੂੰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਇਸਨੂੰ ਤੁਹਾਡੇ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰਨ, ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਜਾਂ ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਸੈੱਟਅੱਪ ਕਰਨ \'ਤੇ ਹੋਰ ਲੋਕਾਂ ਵੱਲੋਂ ਵੀ ਦੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।"</string>
 </resources>
diff --git a/res-product/values-pl/strings.xml b/res-product/values-pl/strings.xml
index a321e92..2666d5c 100644
--- a/res-product/values-pl/strings.xml
+++ b/res-product/values-pl/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Gdy obracasz tablet do pionu lub poziomu"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Dostosuj sposób wyświetlania kolorów na ekranie telefonu"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Dostosuj sposób wyświetlania kolorów na ekranie tabletu"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Nazwa urządzenia jest widoczna dla aplikacji na telefonie. Mogą ją też zobaczyć inne osoby, gdy łączysz się z urządzeniami przez Bluetooth, łączysz się z siecią Wi-Fi lub konfigurujesz hotspot Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Nazwa urządzenia jest widoczna dla aplikacji na tablecie. Mogą ją też zobaczyć inne osoby, gdy łączysz się z urządzeniami przez Bluetooth, łączysz się z siecią Wi-Fi lub konfigurujesz hotspot Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-pt-rBR/strings.xml b/res-product/values-pt-rBR/strings.xml
index cf4624b..f37c537 100644
--- a/res-product/values-pt-rBR/strings.xml
+++ b/res-product/values-pt-rBR/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Ao virar o tablet para as posições vertical e horizontal"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajuste as cores mostradas no smartphone"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajuste as cores mostradas no tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"O nome do seu dispositivo está visível para os apps no smartphone. Ele também ficará visível para outras pessoas quando você se conectar a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configurar um ponto de acesso Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"O nome do seu dispositivo está visível para os apps no tablet. Ele também ficará visível para outras pessoas quando você se conectar a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configurar um ponto de acesso Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-pt-rPT/strings.xml b/res-product/values-pt-rPT/strings.xml
index 4ea561f..a0a7cc6 100644
--- a/res-product/values-pt-rPT/strings.xml
+++ b/res-product/values-pt-rPT/strings.xml
@@ -23,22 +23,22 @@
     <string name="bluetooth_footer_mac_message" product="default" msgid="1640339352473051542">"Endereço Bluetooth do telemóvel: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_footer_mac_message" product="tablet" msgid="7338607486971997745">"Endereço Bluetooth do tablet: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_footer_mac_message" product="device" msgid="8944917742814573320">"Endereço Bluetooth do dispositivo: <xliff:g id="BLUETOOTH_MAC_ADDRESS">%1$s</xliff:g>"</string>
-    <string name="bluetooth_ask_discovery" product="tablet" msgid="7430581669309228387">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende tornar o seu tablet visível para outros dispositivos Bluetooth durante <xliff:g id="TIMEOUT">%2$d</xliff:g> segundos."</string>
-    <string name="bluetooth_ask_discovery" product="default" msgid="3947027393224406367">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende tornar o seu telemóvel visível para outros dispositivos Bluetooth durante <xliff:g id="TIMEOUT">%2$d</xliff:g> segundos."</string>
-    <string name="bluetooth_ask_discovery_no_name" product="tablet" msgid="440976482246291783">"Uma aplicação pretende tornar o seu tablet visível para outros dispositivos Bluetooth durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos."</string>
-    <string name="bluetooth_ask_discovery_no_name" product="default" msgid="5164413774312648842">"Uma aplicação pretende tornar o seu telemóvel visível para outros dispositivos Bluetooth durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos."</string>
-    <string name="bluetooth_ask_lasting_discovery" product="tablet" msgid="750347558570909906">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende tornar o seu tablet visível para outros dispositivos Bluetooth. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
-    <string name="bluetooth_ask_lasting_discovery" product="default" msgid="5844129004156080891">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende tornar o seu telemóvel visível para outros dispositivos Bluetooth. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
-    <string name="bluetooth_ask_lasting_discovery_no_name" product="tablet" msgid="1062185767225450964">"Uma aplicação pretende tornar o seu tablet visível para outros dispositivos Bluetooth. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
-    <string name="bluetooth_ask_lasting_discovery_no_name" product="default" msgid="7909547303183236140">"Uma aplicação pretende tornar o seu telemóvel visível para outros dispositivos Bluetooth. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
-    <string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="6187874232925632790">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende ativar o Bluetooth e tornar o seu tablet visível para outros dispositivos durante <xliff:g id="TIMEOUT">%2$d</xliff:g> segundos."</string>
-    <string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="1018495685727482700">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende ativar o Bluetooth e tornar o seu telemóvel visível para outros dispositivos durante <xliff:g id="TIMEOUT">%2$d</xliff:g> segundos."</string>
-    <string name="bluetooth_ask_enablement_and_discovery_no_name" product="tablet" msgid="3469927640700478737">"Uma aplicação pretende ativar o Bluetooth e tornar o seu tablet visível para outros dispositivos durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos."</string>
-    <string name="bluetooth_ask_enablement_and_discovery_no_name" product="default" msgid="4847493437698663706">"Uma aplicação pretende ativar o Bluetooth e tornar o seu telemóvel visível para outros dispositivos durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="487436507630570730">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende ativar o Bluetooth e tornar o seu tablet visível para outros dispositivos. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="5169934906530139494">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende ativar o Bluetooth e tornar o seu telemóvel visível para outros dispositivos. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="505214056751470551">"Uma aplicação pretende ativar o Bluetooth e tornar o seu tablet visível para outros dispositivos. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="6187216564831513193">"Uma aplicação pretende ativar o Bluetooth e tornar o seu telemóvel visível para outros dispositivos. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
+    <string name="bluetooth_ask_discovery" product="tablet" msgid="7430581669309228387">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer tornar o seu tablet visível para outros dispositivos Bluetooth durante <xliff:g id="TIMEOUT">%2$d</xliff:g> segundos."</string>
+    <string name="bluetooth_ask_discovery" product="default" msgid="3947027393224406367">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer tornar o seu telemóvel visível para outros dispositivos Bluetooth durante <xliff:g id="TIMEOUT">%2$d</xliff:g> segundos."</string>
+    <string name="bluetooth_ask_discovery_no_name" product="tablet" msgid="440976482246291783">"Uma aplicação quer tornar o seu tablet visível para outros dispositivos Bluetooth durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos."</string>
+    <string name="bluetooth_ask_discovery_no_name" product="default" msgid="5164413774312648842">"Uma aplicação quer tornar o seu telemóvel visível para outros dispositivos Bluetooth durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos."</string>
+    <string name="bluetooth_ask_lasting_discovery" product="tablet" msgid="750347558570909906">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer tornar o seu tablet visível para outros dispositivos Bluetooth. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
+    <string name="bluetooth_ask_lasting_discovery" product="default" msgid="5844129004156080891">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer tornar o seu telemóvel visível para outros dispositivos Bluetooth. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
+    <string name="bluetooth_ask_lasting_discovery_no_name" product="tablet" msgid="1062185767225450964">"Uma aplicação quer tornar o seu tablet visível para outros dispositivos Bluetooth. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
+    <string name="bluetooth_ask_lasting_discovery_no_name" product="default" msgid="7909547303183236140">"Uma aplicação quer tornar o seu telemóvel visível para outros dispositivos Bluetooth. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
+    <string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="6187874232925632790">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer ativar o Bluetooth e tornar o seu tablet visível para outros dispositivos durante <xliff:g id="TIMEOUT">%2$d</xliff:g> segundos."</string>
+    <string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="1018495685727482700">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer ativar o Bluetooth e tornar o seu telemóvel visível para outros dispositivos durante <xliff:g id="TIMEOUT">%2$d</xliff:g> segundos."</string>
+    <string name="bluetooth_ask_enablement_and_discovery_no_name" product="tablet" msgid="3469927640700478737">"Uma aplicação quer ativar o Bluetooth e tornar o seu tablet visível para outros dispositivos durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos."</string>
+    <string name="bluetooth_ask_enablement_and_discovery_no_name" product="default" msgid="4847493437698663706">"Uma aplicação quer ativar o Bluetooth e tornar o seu telemóvel visível para outros dispositivos durante <xliff:g id="TIMEOUT">%1$d</xliff:g> segundos."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="487436507630570730">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer ativar o Bluetooth e tornar o seu tablet visível para outros dispositivos. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="5169934906530139494">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer ativar o Bluetooth e tornar o seu telemóvel visível para outros dispositivos. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="505214056751470551">"Uma aplicação quer ativar o Bluetooth e tornar o seu tablet visível para outros dispositivos. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="6187216564831513193">"Uma aplicação quer ativar o Bluetooth e tornar o seu telemóvel visível para outros dispositivos. Pode alterar esta opção mais tarde nas definições de Bluetooth."</string>
     <string name="encryption_and_credential_settings_summary" product="default" msgid="3741475436042800617">"Dados do telemóvel encriptados"</string>
     <string name="not_encrypted_summary" product="default" msgid="330652312169527734">"Telemóvel não encriptado"</string>
     <string name="encryption_and_credential_settings_summary" product="tablet" msgid="2220021007677215054">"Dispositivo encriptado"</string>
@@ -214,17 +214,17 @@
     <string name="setup_lock_settings_picker_title" product="tablet" msgid="7615280976565002421">"Proteger o seu tablet"</string>
     <string name="setup_lock_settings_picker_title" product="device" msgid="701531571481098327">"Proteger o dispositivo"</string>
     <string name="setup_lock_settings_picker_title" product="default" msgid="9097195832806088530">"Proteger o telemóvel"</string>
-    <string name="setup_lock_settings_picker_message" product="tablet" msgid="5570255431873198678">"Impeça terceiros de utilizar este tablet sem a sua autorização ao ativar as funcionalidades de proteção do dispositivo. Escolha o bloqueio de ecrã que pretende utilizar."</string>
-    <string name="setup_lock_settings_picker_message" product="device" msgid="437860817089616245">"Impeça terceiros de utilizar este dispositivo sem a sua autorização ao ativar as funcionalidades de proteção do dispositivo. Escolha o bloqueio de ecrã que pretende utilizar."</string>
-    <string name="setup_lock_settings_picker_message" product="default" msgid="343440740226992914">"Impeça terceiros de utilizar este telemóvel sem a sua autorização ao ativar as funcionalidades de proteção do dispositivo. Escolha o bloqueio de ecrã que pretende utilizar."</string>
+    <string name="setup_lock_settings_picker_message" product="tablet" msgid="5570255431873198678">"Impeça terceiros de utilizar este tablet sem a sua autorização ao ativar as funcionalidades de proteção do dispositivo. Escolha o bloqueio de ecrã que quer utilizar."</string>
+    <string name="setup_lock_settings_picker_message" product="device" msgid="437860817089616245">"Impeça terceiros de utilizar este dispositivo sem a sua autorização ao ativar as funcionalidades de proteção do dispositivo. Escolha o bloqueio de ecrã que quer utilizar."</string>
+    <string name="setup_lock_settings_picker_message" product="default" msgid="343440740226992914">"Impeça terceiros de utilizar este telemóvel sem a sua autorização ao ativar as funcionalidades de proteção do dispositivo. Escolha o bloqueio de ecrã que quer utilizar."</string>
     <string name="bluetooth_unpair_dialog_body" product="default" msgid="176620413491664050">"O telemóvel deixará de estar sincronizado com o <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_body" product="tablet" msgid="8098078685596880647">"O tablet deixará de estar sincronizado com o <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_body" product="device" msgid="563640675231461703">"O dispositivo deixará de estar sincronizado com o <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="nfc_secure_toggle_summary" product="default" msgid="3515508978581011683">"Permita a utilização do NFC apenas quando o ecrã está desbloqueado"</string>
-    <string name="wifi_add_app_single_network_summary" product="default" msgid="7742934005022827107">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende guardar uma rede no seu telemóvel."</string>
-    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="93466057231937113">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende guardar uma rede no seu tablet."</string>
-    <string name="wifi_add_app_networks_summary" product="default" msgid="7014504084783236696">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende guardar estas redes no seu telemóvel."</string>
-    <string name="wifi_add_app_networks_summary" product="tablet" msgid="6433255556506891439">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende guardar estas redes no seu tablet."</string>
+    <string name="wifi_add_app_single_network_summary" product="default" msgid="7742934005022827107">"A app <xliff:g id="APPNAME">%1$s</xliff:g> quer guardar uma rede no seu telemóvel."</string>
+    <string name="wifi_add_app_single_network_summary" product="tablet" msgid="93466057231937113">"A app <xliff:g id="APPNAME">%1$s</xliff:g> quer guardar uma rede no seu tablet."</string>
+    <string name="wifi_add_app_networks_summary" product="default" msgid="7014504084783236696">"A app <xliff:g id="APPNAME">%1$s</xliff:g> quer guardar estas redes no seu telemóvel."</string>
+    <string name="wifi_add_app_networks_summary" product="tablet" msgid="6433255556506891439">"A app <xliff:g id="APPNAME">%1$s</xliff:g> quer guardar estas redes no seu tablet."</string>
     <string name="auto_rotate_screen_summary" product="default" msgid="5562937346878935483">"Ajuste automaticamente a orientação do ecrã quando move o telemóvel entre o modo vertical e horizontal"</string>
     <string name="auto_rotate_screen_summary" product="tablet" msgid="3163709742477804994">"Ajuste automaticamente a orientação do ecrã quando move o tablet entre o modo vertical e horizontal"</string>
     <string name="sim_lock_on" product="tablet" msgid="227481196121403470">"É necessário o PIN para utilizar o tablet"</string>
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Quando move o tablet entre o modo vertical e horizontal"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajuste a visualização das cores no telemóvel"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajuste a visualização das cores no tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"O nome do seu dispositivo é visível para as apps do telemóvel. Também pode ser visto por outras pessoas quando se liga a dispositivos Bluetooth ou a uma rede Wi-Fi, assim como quando configura uma zona Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"O nome do seu dispositivo é visível para as apps do tablet. Também pode ser visto por outras pessoas quando se liga a dispositivos Bluetooth ou a uma rede Wi-Fi, assim como quando configura uma zona Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-pt/strings.xml b/res-product/values-pt/strings.xml
index cf4624b..f37c537 100644
--- a/res-product/values-pt/strings.xml
+++ b/res-product/values-pt/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Ao virar o tablet para as posições vertical e horizontal"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajuste as cores mostradas no smartphone"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajuste as cores mostradas no tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"O nome do seu dispositivo está visível para os apps no smartphone. Ele também ficará visível para outras pessoas quando você se conectar a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configurar um ponto de acesso Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"O nome do seu dispositivo está visível para os apps no tablet. Ele também ficará visível para outras pessoas quando você se conectar a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configurar um ponto de acesso Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-ro/strings.xml b/res-product/values-ro/strings.xml
index 108f46c..6e523a7 100644
--- a/res-product/values-ro/strings.xml
+++ b/res-product/values-ro/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Când comuți tableta între orientările portret și peisaj"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajustează modul în care se afișează culorile pe telefon"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajustează modul în care se afișează culorile pe tabletă"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Numele dispozitivului este vizibil pentru aplicațiile de pe telefon. Poate fi văzut și de alte persoane când te conectezi la dispozitivele Bluetooth sau la o rețea Wi-Fi sau când configurezi un hotspot Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Numele dispozitivului este vizibil pentru aplicațiile de pe tabletă. Poate fi văzut și de alte persoane când te conectezi la dispozitivele Bluetooth sau la o rețea Wi-Fi sau când configurezi un hotspot Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-ru/strings.xml b/res-product/values-ru/strings.xml
index 8712588..a3b6f3f 100644
--- a/res-product/values-ru/strings.xml
+++ b/res-product/values-ru/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Переключать ориентацию при изменении положения планшета"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Настроить цветопередачу на экране телефона"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Настроить цветопередачу на экране планшета"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"У приложений на телефоне есть доступ к названию устройства. Его могут видеть другие пользователи, когда вы подключаетесь к устройствам Bluetooth и сетям Wi-Fi или настраиваете точку доступа Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"У приложений на планшете есть доступ к названию устройства. Его могут видеть другие пользователи, когда вы подключаетесь к устройствам Bluetooth и сетям Wi-Fi или настраиваете точку доступа Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-si/strings.xml b/res-product/values-si/strings.xml
index a106450..757d4ae 100644
--- a/res-product/values-si/strings.xml
+++ b/res-product/values-si/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ඔබ ඔබේ ටැබ්ලටය සිරස් සහ තිරස් අතර ගෙන යන විට"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ඔබේ දුරකථනයෙහි වර්ණ සංදර්ශනය වන ආකාරය සීරුමාරු කරන්න"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ඔබේ ටැබ්ලටයෙහි වර්ණ සංදර්ශනය වන ආකාරය සීරුමාරු කරන්න"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"ඔබේ උපාංගයේ නම ඔබේ දුරකථනයෙහි යෙදුම්වලට දෘශ්‍යමාන වේ. ඔබ බ්ලූටූත් උපාංග වෙත සම්බන්ධ වන විට, Wi-Fi ජාලයකට සම්බන්ධ වන විට හෝ Wi-Fi හොට්ස්පොට් එකක් පිහිටුවන විට එය වෙනත් පුද්ගලයන් විසින් ද දැකිය හැක."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"ඔබේ උපාංගයේ නම ඔබේ ටැබ්ලටයෙහි යෙදුම්වලට දෘශ්‍යමාන වේ. ඔබ බ්ලූටූත් උපාංග වෙත සම්බන්ධ වන විට, Wi-Fi ජාලයකට සම්බන්ධ වන විට හෝ Wi-Fi හොට්ස්පොට් එකක් පිහිටුවන විට එය වෙනත් පුද්ගලයන් විසින් ද දැකිය හැක."</string>
 </resources>
diff --git a/res-product/values-sk/strings.xml b/res-product/values-sk/strings.xml
index 8e6270d..cd0527e 100644
--- a/res-product/values-sk/strings.xml
+++ b/res-product/values-sk/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Keď tablet otočíte z orientácie na výšku do polohy na šírku"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Upravte si zobrazovanie farieb v telefóne"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Upravte si zobrazovanie farieb v tablete"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Názov zariadenia je viditeľný pre aplikácie v telefóne. Keď sa pripojíte k zariadeniam s rozhraním Bluetooth alebo sieti Wi‑Fi, prípadne nastavíte hotspot Wi‑Fi, môžu ho uvidieť aj ďalší ľudia."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Názov zariadenia je viditeľný pre aplikácie v tablete. Keď sa pripojíte k zariadeniam s rozhraním Bluetooth alebo sieti Wi‑Fi, prípadne nastavíte hotspot Wi‑Fi, môžu ho uvidieť aj ďalší ľudia."</string>
 </resources>
diff --git a/res-product/values-sl/strings.xml b/res-product/values-sl/strings.xml
index 301344f..95a048a 100644
--- a/res-product/values-sl/strings.xml
+++ b/res-product/values-sl/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Ko tablični računalnik obrnete iz navpičnega v vodoravni položaj ali obratno."</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Prilagodite prikaz barv v telefonu."</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Prilagodite prikaz barv v tabličnem računalniku."</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Ime naprave je vidno aplikacijam v telefonu. Ko vzpostavite povezavo z napravami Bluetooth ali omrežjem Wi-Fi ali nastavite dostopno točko Wi-Fi, ga bodo morda videle tudi druge osebe."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Ime naprave je vidno aplikacijam v tabličnem računalniku. Ko vzpostavite povezavo z napravami Bluetooth ali omrežjem Wi-Fi ali nastavite dostopno točko Wi-Fi, ga bodo morda videle tudi druge osebe."</string>
 </resources>
diff --git a/res-product/values-sq/strings.xml b/res-product/values-sq/strings.xml
index 889c998..cc57d91 100644
--- a/res-product/values-sq/strings.xml
+++ b/res-product/values-sq/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kur lëviz tabletin mes modalitetit \"portret\" e \"horizontal\""</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Rregullo mënyrën se si shfaqen ngjyrat në telefon"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Rregullo mënyrën se si shfaqen ngjyrat në tabletin tënd"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Emri i pajisjes sate është i dukshëm për aplikacionet në telefonin tënd. Ai mund të shikohet po ashtu nga persona të tjerë kur lidhesh me pajisje me Bluetooth, kur lidhesh me një rrjet Wi-Fi ose kur konfiguron një zonë të qasjes për internet me Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Emri i pajisjes sate është i dukshëm për aplikacionet në tabletin tënd. Ai mund të shikohet po ashtu nga persona të tjerë kur lidhesh me pajisje me Bluetooth, kur lidhesh me një rrjet Wi-Fi ose kur konfiguron një zonë të qasjes për internet me Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-sr/strings.xml b/res-product/values-sr/strings.xml
index 2277302..e6bfee9 100644
--- a/res-product/values-sr/strings.xml
+++ b/res-product/values-sr/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Када окрећете таблет у усправни или водоравни режим"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Прилагодите начин на који се боје приказују на телефону"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Прилагодите начин на који се боје приказују на таблету"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Апликације на телефону могу да виде назив уређаја. И други људи могу да виде назив уређаја када се повежете са Bluetooth уређајима или WiFi мрежом или подесите WiFi хотспот."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Апликације на таблету могу да виде назив уређаја. И други људи могу да виде назив уређаја када се повежете са Bluetooth уређајима или WiFi мрежом или подесите WiFi хотспот."</string>
 </resources>
diff --git a/res-product/values-sv/strings.xml b/res-product/values-sv/strings.xml
index e68f2d0..7d6818a 100644
--- a/res-product/values-sv/strings.xml
+++ b/res-product/values-sv/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"När du vänder surfplattan mellan stående och liggande läge"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ändra hur färger visas på telefonen"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ändra hur färger visas på surfplattan"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Enhetens namn är synligt för appar på telefonen. Det kan också vara synligt för andra personer när du ansluter till Bluetooth-enheter eller ett wifi-nätverk, eller om du skapar en wifi-surfzon."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Enhetens namn är synligt för appar på surfplattan. Det kan också vara synligt för andra personer när du ansluter till Bluetooth-enheter eller ett wifi-nätverk, eller om du skapar en wifi-surfzon."</string>
 </resources>
diff --git a/res-product/values-sw/strings.xml b/res-product/values-sw/strings.xml
index 3d90e26..69d64bb 100644
--- a/res-product/values-sw/strings.xml
+++ b/res-product/values-sw/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Unapobadilisha mkao wa kompyuta kibao yako kati ya wima na mlalo"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Rekebisha jinsi rangi zinaonekana kwenye simu yako"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Rekebisha jinsi rangi zinaonekana kwenye kishikwambi chako"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Jina la kifaa chako litaonekana kwa programu zilizo kwenye simu yako. Pia, watu wengine wanaweza kuliona unapounganisha kwenye vifaa vya Bluetooth, unapounganisha kwenye mtandao wa Wi-Fi au kuweka mipangilio ya mtandao pepe wa Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Jina la kifaa chako litaonekana kwa programu zilizo kwenye kishikwambi chako. Pia, watu wengine wanaweza kuliona unapounganisha kwenye vifaa vya Bluetooth, unapounganisha kwenye mtandao wa Wi-Fi au kuweka mipangilio ya mtandao pepe wa Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-ta/strings.xml b/res-product/values-ta/strings.xml
index d1335e2..0e09bbf 100644
--- a/res-product/values-ta/strings.xml
+++ b/res-product/values-ta/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"போர்ட்ரெய்ட் &amp; லேண்ட்ஸ்கேப் காட்சிக்கு டேப்லெட்டை மாற்றும்போது"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"மொபைலில் வண்ணங்கள் காட்டப்படும் விதத்தைச் சரிசெய்யலாம்"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"டேப்லெட்டில் வண்ணங்கள் காட்டப்படும் விதத்தைச் சரிசெய்யலாம்"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"உங்கள் மொபைலில் உள்ள ஆப்ஸால் உங்கள் சாதனத்தின் பெயரைப் பார்க்க முடியும். புளூடூத் சாதனங்கள், வைஃபை நெட்வொர்க் ஆகியவற்றுடன் இணைக்கும்போதோ வைஃபை ஹாட்ஸ்பாட்டை அமைக்கும்போதோ அப்பெயர் பிறருக்கும் காட்டப்படக்கூடும்."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"உங்கள் டேப்லெட்டில் உள்ள ஆப்ஸால் உங்கள் சாதனத்தின் பெயரைப் பார்க்க முடியும். புளூடூத் சாதனங்கள், வைஃபை நெட்வொர்க் ஆகியவற்றுடன் இணைக்கும்போதோ வைஃபை ஹாட்ஸ்பாட்டை அமைக்கும்போதோ அப்பெயர் பிறருக்கும் காட்டப்படக்கூடும்."</string>
 </resources>
diff --git a/res-product/values-te/strings.xml b/res-product/values-te/strings.xml
index 89fedcc..d0fb8a3 100644
--- a/res-product/values-te/strings.xml
+++ b/res-product/values-te/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"టాబ్లెట్‌ను పోర్ట్రెయిట్, ల్యాండ్‌స్కేప్‌‌ల మధ్య మార్చినప్పుడు"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"మీ ఫోన్‌లో రంగులు ఎలా ప్రదర్శించాలో సర్దుబాటు చేయండి"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"మీ టాబ్లెట్‌లో రంగులు కనిపించే విధానాన్ని సర్దుబాటు చేయండి"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"మీ పరికరం పేరు మీ ఫోన్‌లోని యాప్‌లకు కనిపిస్తుంది. మీరు బ్లూటూత్ పరికరాలకు కనెక్ట్ చేసినప్పుడు, Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ చేసినప్పుడు లేదా Wi-Fi హాట్‌స్పాట్‌ను సెటప్ చేసినప్పుడు ఇతర వ్యక్తులకు కూడా చూడవచ్చు."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"మీ టాబ్లెట్ పేరు మీ ఫోన్‌లోని యాప్‌లకు కనిపిస్తుంది. మీరు బ్లూటూత్ పరికరాలకు కనెక్ట్ చేసినప్పుడు, Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ చేసినప్పుడు లేదా Wi-Fi హాట్‌స్పాట్‌ను సెటప్ చేసినప్పుడు ఇతర వ్యక్తులకు కూడా చూడవచ్చు."</string>
 </resources>
diff --git a/res-product/values-th/strings.xml b/res-product/values-th/strings.xml
index 339d8d4..637b5b3 100644
--- a/res-product/values-th/strings.xml
+++ b/res-product/values-th/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"เมื่อคุณหมุนแท็บเล็ตไปมาระหว่างแนวตั้งกับแนวนอน"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ปรับวิธีแสดงสีในโทรศัพท์"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ปรับวิธีแสดงสีในแท็บเล็ต"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"แอปในโทรศัพท์จะเห็นชื่อของอุปกรณ์ และคนอื่นก็อาจเห็นเช่นกันหากคุณเชื่อมต่อกับอุปกรณ์บลูทูธหรือเครือข่าย Wi-Fi หรือตั้งค่าฮอตสปอต Wi-Fi"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"แอปในแท็บเล็ตจะเห็นชื่อของอุปกรณ์ และคนอื่นก็อาจเห็นเช่นกันหากคุณเชื่อมต่อกับอุปกรณ์บลูทูธหรือเครือข่าย Wi-Fi หรือตั้งค่าฮอตสปอต Wi-Fi"</string>
 </resources>
diff --git a/res-product/values-tl/strings.xml b/res-product/values-tl/strings.xml
index 796b408..e83cd18 100644
--- a/res-product/values-tl/strings.xml
+++ b/res-product/values-tl/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kapag pinalipat-lipat mo ang tablet sa portrait at landscape"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Isaayos kung paano ipinapakita ang mga kulay sa iyong telepono"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Isaayos kung paano ipinapakita ang mga kulay sa iyong tablet"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Nakikita ng mga app sa iyong telepono ang pangalan ng device mo. Puwede rin itong makita ng ibang tao kapag ikaw ay kumonekta sa mga Bluetooth device, kumonekta sa Wi-Fi network, o nag-set up ng Wi-Fi hotspot."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Nakikita ng mga app sa iyong tablet ang pangalan ng device mo. Puwede rin itong makita ng ibang tao kapag ikaw ay kumonekta sa mga Bluetooth device, kumonekta sa Wi-Fi network, o nag-set up ng Wi-Fi hotspot."</string>
 </resources>
diff --git a/res-product/values-tr/strings.xml b/res-product/values-tr/strings.xml
index 3e016e4..cc2b132 100644
--- a/res-product/values-tr/strings.xml
+++ b/res-product/values-tr/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Tabletinizi dikey/yatay mod arasında hareket ettirdiğinizde"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Renklerin telefonunuzda nasıl görüntüleneceğini düzenleyin"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Renklerin tabletinizde nasıl görüntüleneceğini düzenleyin"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Telefonunuzdaki uygulamalar, cihazınızın adını görebilecek. Cihazınızın adı ayrıca Bluetooth cihazlara bağlandığınızda, kablosuz ağa bağlandığınızda veya kablosuz hotspot oluşturduğunuzda diğer kişiler tarafından görülecektir."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Tabletinizdeki uygulamalar, cihazınızın adını görebilecek. Cihazınızın adı ayrıca Bluetooth cihazlara bağlandığınızda, kablosuz ağa bağlandığınızda veya kablosuz hotspot oluşturduğunuzda diğer kişiler tarafından görülecektir."</string>
 </resources>
diff --git a/res-product/values-uk/strings.xml b/res-product/values-uk/strings.xml
index 637ea9a..45c0f95 100644
--- a/res-product/values-uk/strings.xml
+++ b/res-product/values-uk/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Змінення орієнтації планшета з портретної на альбомну й навпаки"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Налаштуйте відтворення кольорів на екрані телефона"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Налаштуйте відтворення кольорів на екрані планшета"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Назва пристрою відображається в додатках на телефоні. Її також можуть бачити інші користувачі, коли ви підключаєтеся до пристроїв із Bluetooth чи мережі Wi-Fi або налаштовуєте точку доступу Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Назва пристрою відображається в додатках на планшеті. Її також можуть бачити інші користувачі, коли ви підключаєтеся до пристроїв із Bluetooth чи мережі Wi-Fi або налаштовуєте точку доступу Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-ur/strings.xml b/res-product/values-ur/strings.xml
index 2158715..a009e51 100644
--- a/res-product/values-ur/strings.xml
+++ b/res-product/values-ur/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"جب آپ اپنا ٹیبلیٹ پورٹریٹ اور لینڈ اسکیپ کے درمیان گھماتے ہیں"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"اپنے فون پر رنگوں کے ڈسپلے ہونے کا طریقہ ایڈجسٹ کریں"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"اپنے ٹیبلیٹ پر رنگوں کے ڈسپلے ہونے کے طریقے کو ایڈجسٹ کریں"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"‏آپ کے آلے کا نام آپ کے فون پر موجود ایپس میں دکھائی دیتا ہے۔ آپ کے بلوٹوتھ آلات سے منسلک ہونے، Wi-Fi نیٹ ورک سے منسلک ہونے یا Wi-Fi ہاٹ اسپاٹ کو سیٹ اپ کرنے پر دوسرے لوگ بھی اسے دیکھ سکتے ہیں۔"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"‏آپ کے آلے کا نام آپ کے ٹیبلیٹ پر موجود ایپس میں دکھائی دیتا ہے۔ آپ کے بلوٹوتھ آلات سے منسلک ہونے، Wi-Fi نیٹ ورک سے منسلک ہونے یا Wi-Fi ہاٹ اسپاٹ کو سیٹ اپ کرنے پر دوسرے لوگ بھی اسے دیکھ سکتے ہیں۔"</string>
 </resources>
diff --git a/res-product/values-uz/strings.xml b/res-product/values-uz/strings.xml
index 19df797..9dcdd2d 100644
--- a/res-product/values-uz/strings.xml
+++ b/res-product/values-uz/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Planshetingizni boʻyiga va eniga burganingizda"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Telefoningizda ranglar qanday chiqishini moslash"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Planshetda ranglar qanday chiqishini moslash"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Telefondagi barcha ilovalarga qurilma nomi koʻrinadi. Bluetooth qurilmalarga yoki Wi-Fi tarmoqqa ulanganingizda, Wi-Fi hotspot sozlaganingizda boshqalarga ham koʻrinishi mumkin."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Planshetdagi barcha ilovalarga qurilma nomi koʻrinadi. Bluetooth qurilmalarga yoki Wi-Fi tarmoqqa ulanganingizda, Wi-Fi hotspot sozlaganingizda boshqalarga ham koʻrinishi mumkin."</string>
 </resources>
diff --git a/res-product/values-vi/strings.xml b/res-product/values-vi/strings.xml
index 8a69e0d..883da2f 100644
--- a/res-product/values-vi/strings.xml
+++ b/res-product/values-vi/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Khi bạn chuyển máy tính bảng giữa chế độ dọc và chế độ ngang"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Điều chỉnh cách hiển thị màu sắc trên điện thoại"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Điều chỉnh cách hiển thị màu sắc trên máy tính bảng"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Tên thiết bị của bạn sẽ hiển thị với các ứng dụng trên điện thoại. Những người khác cũng có thể thấy tên thiết bị này khi bạn kết nối với thiết bị Bluetooth, một mạng Wi-Fi hoặc thiết lập một điểm phát sóng Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Tên thiết bị của bạn sẽ hiển thị với các ứng dụng trên máy tính bảng. Những người khác cũng có thể thấy tên thiết bị này khi bạn kết nối với thiết bị Bluetooth, một mạng Wi-Fi hoặc thiết lập một điểm phát sóng Wi-Fi."</string>
 </resources>
diff --git a/res-product/values-zh-rCN/strings.xml b/res-product/values-zh-rCN/strings.xml
index 22083ed..1121f55 100644
--- a/res-product/values-zh-rCN/strings.xml
+++ b/res-product/values-zh-rCN/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"当您在纵向与横向之间变换平板电脑持握方向时"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"调整手机上的颜色显示方式"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"调整平板电脑上的颜色显示方式"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"您的设备名称会显示在手机上的应用中。此外,当您连接到蓝牙设备、连接到 WLAN 网络或设置 WLAN 热点时,其他人可能也会看到您的设备名称。"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"您的设备名称会显示在平板电脑上的应用中。此外,当您连接到蓝牙设备、连接到 WLAN 网络或设置 WLAN 热点时,其他人可能也会看到您的设备名称。"</string>
 </resources>
diff --git a/res-product/values-zh-rHK/strings.xml b/res-product/values-zh-rHK/strings.xml
index 338b820..39ede65 100644
--- a/res-product/values-zh-rHK/strings.xml
+++ b/res-product/values-zh-rHK/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"喺平板電腦轉成直向或者橫向嘅時候自動旋轉畫面"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"調整手機上的顏色顯示效果"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"調整平板電腦上的顏色顯示效果"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"你在手機上的應用程式可以取得你的裝置名稱。當你連接藍牙裝置或 Wi-Fi 網絡,或設定 Wi-Fi 熱點時,其他人亦可能會看到你的裝置名稱。"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"你在平板電腦上的應用程式可以取得你的裝置名稱。當你連接藍牙裝置或 Wi-Fi 網絡,或設定 Wi-Fi 熱點時,其他人亦可能會看到你的裝置名稱。"</string>
 </resources>
diff --git a/res-product/values-zh-rTW/strings.xml b/res-product/values-zh-rTW/strings.xml
index c0c6509..51a4f97 100644
--- a/res-product/values-zh-rTW/strings.xml
+++ b/res-product/values-zh-rTW/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"在平板電腦轉成直向或橫向時自動旋轉畫面"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"調整手機的顏色顯示方式"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"調整平板電腦的顏色顯示方式"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"手機上的應用程式會顯示裝置名稱。此外,當你連上藍牙裝置、Wi-Fi 網路或者設定 Wi-Fi 無線基地台時,其他人可能也會看到這個裝置名稱。"</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"平板電腦上的應用程式會顯示裝置名稱。此外,當你連上藍牙裝置、Wi-Fi 網路或者設定 Wi-Fi 無線基地台時,其他人可能也會看到這個裝置名稱。"</string>
 </resources>
diff --git a/res-product/values-zu/strings.xml b/res-product/values-zu/strings.xml
index 093d998..7ad8347 100644
--- a/res-product/values-zu/strings.xml
+++ b/res-product/values-zu/strings.xml
@@ -356,6 +356,4 @@
     <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Uma uhambisa ithebulethi yakho phakathi kokuma ngobude nokuvundla"</string>
     <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Lungisa indlela imibala ebonisa ngayo efonini yakho"</string>
     <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Lungisa indlela imibala ebonisa ngayo kuthebulethi yakho"</string>
-    <string name="about_phone_device_name_warning" product="default" msgid="5583407963146182224">"Igama ledivayisi yakho libonakala kuma-app kufoni yakho. Lingase futhi libonwe abanye abantu lapho uxhuma kumadivayisi e-Bluetooth, uxhuma kunethiwekhi ye-Wi-Fi noma usetha i-hotspot ye-Wi-Fi."</string>
-    <string name="about_phone_device_name_warning" product="tablet" msgid="1902800367166694360">"Igama ledivayisi yakho libonakala kuma-app kufoni yakho. Lingase futhi libonwe abanye abantu lapho uxhuma kumadivayisi e-Bluetooth, uxhuma kunethiwekhi ye-Wi-Fi noma usetha i-hotspot ye-Wi-Fi."</string>
 </resources>
diff --git a/res/drawable/action_button_bg.xml b/res/drawable/action_button_bg.xml
new file mode 100644
index 0000000..b50cc41
--- /dev/null
+++ b/res/drawable/action_button_bg.xml
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  ~ Copyright (C) 2023 The Android Open Source Project
+  ~
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~      http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License
+  -->
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+        android:color="?android:attr/colorControlHighlight">
+    <item>
+        <inset
+            android:insetLeft="0dp"
+            android:insetTop="8dp"
+            android:insetRight="0dp"
+            android:insetBottom="8dp">
+            <shape android:shape="rectangle">
+                <corners android:radius="8dp" />
+                <stroke android:width="1dp"
+                    android:color="?androidprv:attr/colorAccentPrimaryVariant"/>
+            </shape>
+        </inset>
+    </item>
+</ripple>
+
diff --git a/res/drawable/battery_tips_all_rounded_bg.xml b/res/drawable/battery_tips_all_rounded_bg.xml
new file mode 100644
index 0000000..4f61f54
--- /dev/null
+++ b/res/drawable/battery_tips_all_rounded_bg.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2023 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="@color/settingslib_dialog_background" />
+    <corners android:radius="@dimen/battery_tips_card_corner_radius_normal" />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/battery_tips_half_rounded_bottom_bg.xml b/res/drawable/battery_tips_half_rounded_bottom_bg.xml
new file mode 100644
index 0000000..7766de6
--- /dev/null
+++ b/res/drawable/battery_tips_half_rounded_bottom_bg.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2023 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="@color/settingslib_dialog_background"/>
+    <corners
+        android:topLeftRadius="@dimen/battery_tips_card_corner_radius_small"
+        android:topRightRadius="@dimen/battery_tips_card_corner_radius_small"
+        android:bottomLeftRadius="@dimen/battery_tips_card_corner_radius_normal"
+        android:bottomRightRadius="@dimen/battery_tips_card_corner_radius_normal"
+        />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/battery_tips_half_rounded_top_bg.xml b/res/drawable/battery_tips_half_rounded_top_bg.xml
new file mode 100644
index 0000000..aba1a4f
--- /dev/null
+++ b/res/drawable/battery_tips_half_rounded_top_bg.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+  Copyright (C) 2023 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  See the License for the specific language governing permissions and
+  limitations under the License.
+  -->
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+    android:shape="rectangle">
+    <solid android:color="@color/settingslib_dialog_background"/>
+    <corners
+        android:topLeftRadius="@dimen/battery_tips_card_corner_radius_normal"
+        android:topRightRadius="@dimen/battery_tips_card_corner_radius_normal"
+        android:bottomLeftRadius="@dimen/battery_tips_card_corner_radius_small"
+        android:bottomRightRadius="@dimen/battery_tips_card_corner_radius_small"
+        />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/ic_battery_charger.xml b/res/drawable/ic_battery_charger.xml
new file mode 100644
index 0000000..4406a56
--- /dev/null
+++ b/res/drawable/ic_battery_charger.xml
@@ -0,0 +1,25 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="48dp"
+        android:height="48dp"
+        android:viewportWidth="960"
+        android:viewportHeight="960">
+    <path
+      android:fillColor="?android:attr/colorAccent"
+      android:pathData="M442,780L518,780L518,698L660,542L660,351Q660,351 660,351Q660,351 660,351L300,351Q300,351 300,351Q300,351 300,351L300,542L442,697.7L442,780ZM382,840L382,722L240,566L240,351Q240,326.25 257.63,308.63Q275.25,291 300,291L372,291L342,321L342,120L402,120L402,291L558,291L558,120L618,120L618,321L588,291L660,291Q684.75,291 702.38,308.63Q720,326.25 720,351L720,566L578,722L578,840L382,840ZM480,565L480,565L480,565L480,565Q480,565 480,565Q480,565 480,565L480,565Q480,565 480,565Q480,565 480,565L480,565L480,565L480,565L480,565Z"/>
+</vector>
+
diff --git a/res/drawable/ic_battery_tips_close.xml b/res/drawable/ic_battery_tips_close.xml
new file mode 100644
index 0000000..7ef571b
--- /dev/null
+++ b/res/drawable/ic_battery_tips_close.xml
@@ -0,0 +1,25 @@
+<!--
+  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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="?android:attr/textColorSecondary"
+        android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12 19,6.41z"/>
+</vector>
diff --git a/res/drawable/ic_battery_tips_close_icon.xml b/res/drawable/ic_battery_tips_close_icon.xml
new file mode 100644
index 0000000..b766474
--- /dev/null
+++ b/res/drawable/ic_battery_tips_close_icon.xml
@@ -0,0 +1,32 @@
+<!--
+  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.
+  -->
+
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp">
+    <item>
+        <shape android:shape="oval">
+            <size
+                android:width="24dp"
+                android:height="24dp" />
+            <solid android:color="?android:attr/colorBackground" />
+        </shape>
+    </item>
+    <item android:drawable="@drawable/ic_battery_tips_close"
+        android:gravity="center"
+        android:width="16dp"
+        android:height="16dp"/>
+</layer-list>
\ No newline at end of file
diff --git a/res/drawable/ic_battery_tips_lightbulb.xml b/res/drawable/ic_battery_tips_lightbulb.xml
new file mode 100644
index 0000000..f1449f9
--- /dev/null
+++ b/res/drawable/ic_battery_tips_lightbulb.xml
@@ -0,0 +1,25 @@
+<!--
+  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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="32dp"
+    android:height="32dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="?android:attr/colorAccent"
+        android:pathData="M7,20h4c0,1.1 -0.9,2 -2,2S7,21.1 7,20zM5,19h8v-2H5V19zM16.5,9.5c0,3.82 -2.66,5.86 -3.77,6.5H5.27C4.16,15.36 1.5,13.32 1.5,9.5C1.5,5.36 4.86,2 9,2S16.5,5.36 16.5,9.5zM14.5,9.5C14.5,6.47 12.03,4 9,4S3.5,6.47 3.5,9.5c0,2.47 1.49,3.89 2.35,4.5h6.3C13.01,13.39 14.5,11.97 14.5,9.5zM21.37,7.37L20,8l1.37,0.63L22,10l0.63,-1.37L24,8l-1.37,-0.63L22,6L21.37,7.37zM19,6l0.94,-2.06L22,3l-2.06,-0.94L19,0l-0.94,2.06L16,3l2.06,0.94L19,6z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_battery_tips_thumb_down.xml b/res/drawable/ic_battery_tips_thumb_down.xml
new file mode 100644
index 0000000..cd7656b
--- /dev/null
+++ b/res/drawable/ic_battery_tips_thumb_down.xml
@@ -0,0 +1,25 @@
+<!--
+  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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960">
+    <path
+        android:fillColor="?android:attr/colorAccent"
+        android:pathData="M242,120L686,120L686,632L408,920L369,889Q363,884 360,875Q357,866 357,853L357,843L402,632L103,632Q79,632 61,614Q43,596 43,572L43,490.16Q43,483 41.5,475.5Q40,468 43,461L169,171Q177.88,149.75 198.6,134.88Q219.31,120 242,120ZM626,180L229,180Q229,180 229,180Q229,180 229,180L103,479L103,572Q103,572 103,572Q103,572 103,572L476,572L423,821L626,607L626,180ZM626,607L626,607L626,572L626,572Q626,572 626,572Q626,572 626,572L626,479L626,180Q626,180 626,180Q626,180 626,180L626,180L626,607ZM686,632L686,572L819,572L819,180L686,180L686,120L879,120L879,632L686,632Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_battery_tips_thumb_up.xml b/res/drawable/ic_battery_tips_thumb_up.xml
new file mode 100644
index 0000000..b1d4cb6
--- /dev/null
+++ b/res/drawable/ic_battery_tips_thumb_up.xml
@@ -0,0 +1,25 @@
+<!--
+  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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960">
+    <path
+        android:fillColor="?android:attr/colorAccent"
+        android:pathData="M716,840L272,840L272,328L550,40L589,71Q595,76 598,85Q601,94 601,107L601,117L556,328L855,328Q879,328 897,346Q915,364 915,388L915,469.84Q915,477 916.5,484.5Q918,492 915,499L789,789Q780.12,810.25 759.41,825.13Q738.69,840 716,840ZM332,780L729,780Q729,780 729,780Q729,780 729,780L855,481L855,388Q855,388 855,388Q855,388 855,388L482,388L535,139L332,353L332,780ZM332,353L332,353L332,388L332,388Q332,388 332,388Q332,388 332,388L332,481L332,780Q332,780 332,780Q332,780 332,780L332,780L332,353ZM272,328L272,388L139,388L139,780L272,780L272,840L79,840L79,328L272,328Z" />
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_lock_open_24dp.xml b/res/drawable/ic_lock_open_24dp.xml
new file mode 100644
index 0000000..ba80956
--- /dev/null
+++ b/res/drawable/ic_lock_open_24dp.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="960"
+        android:viewportHeight="960"
+        android:tint="?attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M240,320h360v-80q0,-50 -35,-85t-85,-35q-50,0 -85,35t-35,85h-80q0,-83 58.5,-141.5T480,40q83,0 141.5,58.5T680,240v80h40q33,0 56.5,23.5T800,400v400q0,33 -23.5,56.5T720,880L240,880q-33,0 -56.5,-23.5T160,800v-400q0,-33 23.5,-56.5T240,320ZM240,800h480v-400L240,400v400ZM480,680q33,0 56.5,-23.5T560,600q0,-33 -23.5,-56.5T480,520q-33,0 -56.5,23.5T400,600q0,33 23.5,56.5T480,680ZM240,800v-400,400Z"/>
+</vector>
\ No newline at end of file
diff --git a/res/layout/action_button.xml b/res/layout/action_button.xml
new file mode 100644
index 0000000..00fdc1e
--- /dev/null
+++ b/res/layout/action_button.xml
@@ -0,0 +1,32 @@
+<!--
+  ~ 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
+  -->
+
+<Button xmlns:android="http://schemas.android.com/apk/res/android"
+    android:gravity="center_vertical|start"
+    android:paddingStart="12dp"
+    android:paddingEnd="12dp"
+    android:drawablePadding="8dp"
+    android:textColor="?android:attr/textColorPrimary"
+    android:textSize="12sp"
+    android:maxWidth="192dp"
+    android:singleLine="true"
+    android:clickable="true"
+    android:background="@drawable/action_button_bg"
+    android:drawableTint="?android:attr/textColorPrimary"
+    android:drawableTintMode="src_in"
+    style="?android:attr/borderlessButtonStyle"
+    />
+
diff --git a/res/layout/battery_tips_card.xml b/res/layout/battery_tips_card.xml
new file mode 100644
index 0000000..d2edb51
--- /dev/null
+++ b/res/layout/battery_tips_card.xml
@@ -0,0 +1,125 @@
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/battery_tips_card"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+    <LinearLayout
+        android:id="@+id/tips_card"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/battery_tips_all_rounded_bg"
+        android:orientation="vertical"
+        android:padding="24dp">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:id="@+id/icon"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_vertical|start"
+                android:src="@drawable/ic_battery_tips_lightbulb" />
+
+            <Space
+                android:layout_width="0dp"
+                android:layout_height="0dp"
+                android:layout_weight="1" />
+
+            <ImageButton
+                android:id="@+id/dismiss_button"
+                style="@style/Banner.Dismiss.SettingsLib"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_vertical|end"
+                android:layout_marginEnd="0dp"
+                android:src="@drawable/ic_battery_tips_close_icon" />
+        </LinearLayout>
+
+        <TextView
+            android:id="@+id/title"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dp"
+            android:maxLines="2"
+            android:textAlignment="viewStart"
+            android:textAppearance="?android:attr/textAppearanceLarge"
+            android:textColor="?android:attr/textColorPrimary" />
+
+        <TextView
+            android:id="@+id/summary"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="8dp"
+            android:gravity="start"
+            android:maxLines="10"
+            android:textAlignment="viewStart"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textColor="?android:attr/textColorSecondary" />
+
+        <com.google.android.material.button.MaterialButton
+            android:id="@+id/action_button"
+            style="@style/Widget.Material3.Button.OutlinedButton"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="end"
+            android:layout_marginTop="8dp"
+            android:text="@string/battery_tips_card_action_button"
+            android:textAppearance="?android:attr/textAppearanceSmall"
+            android:textColor="?android:attr/textColorPrimary"
+            android:textStyle="bold"
+            app:strokeColor="?android:attr/colorAccent"
+            app:strokeWidth="1dp" />
+    </LinearLayout>
+
+    <Space
+        android:layout_width="0dp"
+        android:layout_height="1dp"/>
+
+    <LinearLayout
+        android:id="@+id/feedback_card"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/battery_tips_half_rounded_bottom_bg"
+        android:gravity="center_vertical|start"
+        android:orientation="horizontal"
+        android:paddingHorizontal="24dp"
+        android:paddingVertical="16dp"
+        android:visibility="gone">
+
+        <TextView
+            android:layout_width="0dp"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="0dp"
+            android:layout_marginEnd="20dp"
+            android:layout_weight="1"
+            android:text="@string/battery_tips_card_feedback_info"
+            android:textAlignment="viewStart"
+            android:textColor="?android:attr/textColorPrimary"
+            android:textStyle="bold"/>
+
+        <ImageButton
+            android:id="@+id/thumb_up"
+            style="@style/Banner.Dismiss.SettingsLib"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical|end"
+            android:layout_marginEnd="20dp"
+            android:src="@drawable/ic_battery_tips_thumb_up" />
+
+        <ImageButton
+            android:id="@+id/thumb_down"
+            style="@style/Banner.Dismiss.SettingsLib"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical|end"
+            android:src="@drawable/ic_battery_tips_thumb_down" />
+    </LinearLayout>
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/bluetooth_pin_confirm.xml b/res/layout/bluetooth_pin_confirm.xml
index 7b5b046..bcc47ad 100644
--- a/res/layout/bluetooth_pin_confirm.xml
+++ b/res/layout/bluetooth_pin_confirm.xml
@@ -76,15 +76,37 @@
             android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
             android:visibility="gone" />
 
-        <CheckBox
-            android:id="@+id/phonebook_sharing_message_confirm_pin"
-            android:layout_width="wrap_content"
+        <LinearLayout
+            android:id="@+id/phonebook_sharing"
             android:layout_height="wrap_content"
-            android:minHeight="@dimen/min_tap_target_size"
+            android:layout_width="match_parent"
             android:layout_marginStart="@dimen/bluetooth_dialog_padding"
             android:layout_marginEnd="@dimen/bluetooth_dialog_padding"
-            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1" />
-
+            android:orientation="horizontal">
+            <LinearLayout
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:layout_weight="1"
+                android:layout_marginEnd="10dp"
+                android:orientation="vertical">
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/bluetooth_pairing_phonebook_toggle_text"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1" />
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/bluetooth_pairing_phonebook_toggle_details"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Caption" />
+            </LinearLayout>
+            <Switch
+                android:id="@+id/phonebook_sharing_message_confirm_pin"
+                android:layout_width="wrap_content"
+                android:layout_height="match_parent"
+                android:layout_weight="0"
+                android:gravity="center_vertical" />
+        </LinearLayout>
     </LinearLayout>
 
 </ScrollView>
diff --git a/res/layout/remote_auth_enroll_finish.xml b/res/layout/remote_auth_enroll_finish.xml
new file mode 100644
index 0000000..ccd42d4
--- /dev/null
+++ b/res/layout/remote_auth_enroll_finish.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2023 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License")
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_lock"
+    app:sucHeaderText="@string/security_settings_remoteauth_enroll_finish_title"
+    app:sudDescriptionText="@string/security_settings_remoteauth_enroll_finish_description">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:paddingHorizontal="@dimen/remoteauth_fragment_padding_horizontal">
+
+        <com.airbnb.lottie.LottieAnimationView
+            android:id="@+id/enroll_finish_animation"
+            android:importantForAccessibility="no"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:lottie_rawRes="@raw/remoteauth_enroll_finish_animation"
+            app:lottie_loop="true"
+            app:lottie_autoPlay="true" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_enroll_introduction.xml b/res/layout/remote_auth_enroll_introduction.xml
new file mode 100644
index 0000000..e55d0b2
--- /dev/null
+++ b/res/layout/remote_auth_enroll_introduction.xml
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2023 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License")
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_lock"
+    app:sucUsePartnerResource="false"
+    app:sucHeaderText="@string/security_settings_remoteauth_enroll_introduction_title"
+    app:sudDescriptionText="@string/security_settings_remoteauth_enroll_introduction_message">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingHorizontal="@dimen/remoteauth_fragment_padding_horizontal"
+        app:layout_optimizationLevel="barrier">
+
+        <com.android.settings.remoteauth.introduction.IntroductionImageCarousel
+            android:id="@+id/image_carousel_view"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"  />
+
+        <!-- How it works -->
+        <TextView
+            android:id="@+id/explanation_subheading_how_it_works"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            style="@style/BiometricEnrollIntroTitle"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_how_title"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/image_carousel_view" />
+
+        <ImageView
+            android:id="@+id/explanation_icon_lock_open"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:importantForAccessibility="no"
+            android:background="@drawable/ic_lock_open_24dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_subheading_how_it_works" />
+
+        <TextView
+            android:id="@+id/explanation_lock_open_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/remoteauth_introduction_description_start_margin"
+            style="@style/BiometricEnrollIntroMessage"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_info_lock_open"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/explanation_icon_lock_open"
+            app:layout_constraintTop_toTopOf="@id/explanation_icon_lock_open" />
+
+        <androidx.constraintlayout.widget.Barrier
+            android:id="@+id/explanation_lock_open_description_barrier"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:barrierDirection="bottom"
+            app:constraint_referenced_ids="explanation_icon_lock_open, explanation_lock_open_description" />
+
+        <ImageView
+            android:id="@+id/explanation_icon_notifications"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:importantForAccessibility="no"
+            android:background="@drawable/ic_notifications"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_lock_open_description_barrier"/>
+
+        <TextView
+            android:id="@+id/explanation_notifications_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/remoteauth_introduction_description_start_margin"
+            style="@style/BiometricEnrollIntroMessage"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_info_notifications"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/explanation_icon_notifications"
+            app:layout_constraintTop_toTopOf="@id/explanation_icon_notifications" />
+
+        <androidx.constraintlayout.widget.Barrier
+            android:id="@+id/explanation_notifications_description_barrier"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:barrierDirection="bottom"
+            app:constraint_referenced_ids="explanation_icon_notifications,explanation_notifications_description" />
+
+        <!-- You're in control -->
+        <TextView
+            android:id="@+id/explanation_subheading_youre_in_control"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            style="@style/BiometricEnrollIntroTitle"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_youre_in_control_title"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_notifications_description_barrier" />
+
+        <ImageView
+            android:id="@+id/explanation_icon_remove_watch"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:importantForAccessibility="no"
+            android:background="@drawable/ic_delete"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_subheading_youre_in_control" />
+
+        <TextView
+            android:id="@+id/explanation_remove_watch_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/remoteauth_introduction_description_start_margin"
+            style="@style/BiometricEnrollIntroMessage"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_info_remove_watch"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/explanation_icon_remove_watch"
+            app:layout_constraintTop_toTopOf="@id/explanation_icon_remove_watch" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_introduction_image_carousel.xml b/res/layout/remote_auth_introduction_image_carousel.xml
new file mode 100644
index 0000000..feb8e6a
--- /dev/null
+++ b/res/layout/remote_auth_introduction_image_carousel.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2023 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License")
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<androidx.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingHorizontal="@dimen/remoteauth_introduction_fragment_padding_horizontal"
+    app:layout_optimizationLevel="barrier">
+
+    <androidx.viewpager2.widget.ViewPager2
+        android:id="@+id/image_carousel"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <ImageView
+        android:id="@+id/carousel_back_arrow"
+        app:layout_constraintStart_toStartOf="parent"
+        android:contentDescription="@string/wizard_back"
+        android:layout_width="@dimen/remoteauth_touchable_area_minimum_span"
+        android:layout_height="@dimen/remoteauth_touchable_area_minimum_span"
+        android:scaleType="center"
+        android:tintMode="src_in"
+        app:layout_constraintEnd_toStartOf="@id/carousel_progress_indicator"
+        app:layout_constraintHorizontal_chainStyle="spread_inside"
+        app:layout_constraintTop_toTopOf="@id/carousel_progress_indicator"
+        app:layout_constraintBottom_toBottomOf="@id/carousel_progress_indicator"
+        android:background="@drawable/ic_arrow_back" />
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/carousel_progress_indicator"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:importantForAccessibility="no"
+        app:layout_constraintStart_toEndOf="@id/carousel_back_arrow"
+        app:layout_constraintEnd_toStartOf="@id/carousel_forward_arrow"
+        app:layout_constraintTop_toBottomOf="@id/image_carousel"
+        android:layout_marginTop="@dimen/remoteauth_carousel_progress_margin" />
+
+    <ImageView
+        android:id="@+id/carousel_forward_arrow"
+        android:contentDescription="@string/wizard_next"
+        android:layout_width="@dimen/remoteauth_touchable_area_minimum_span"
+        android:layout_height="@dimen/remoteauth_touchable_area_minimum_span"
+        android:scaleType="center"
+        android:tintMode="src_in"
+        app:layout_constraintStart_toEndOf="@id/carousel_progress_indicator"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="@id/carousel_progress_indicator"
+        app:layout_constraintBottom_toBottomOf="@id/carousel_progress_indicator"
+        android:background="@drawable/ic_arrow_forward" />
+
+    <androidx.constraintlayout.widget.Barrier
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:barrierMargin="@dimen/remoteauth_carousel_progress_margin"
+        app:barrierDirection="bottom"
+        app:constraint_referenced_ids="carousel_back_arrow,carousel_forward_arrow" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_introduction_image_carousel_item.xml b/res/layout/remote_auth_introduction_image_carousel_item.xml
new file mode 100644
index 0000000..4b599e2
--- /dev/null
+++ b/res/layout/remote_auth_introduction_image_carousel_item.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2023 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License")
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              xmlns:app="http://schemas.android.com/apk/res-auto"
+              android:id="@+id/explanation_animation_container"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:orientation="vertical"
+              android:gravity="center_horizontal">
+
+    <com.airbnb.lottie.LottieAnimationView
+        android:id="@+id/explanation_animation"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:importantForAccessibility="no"
+        app:lottie_loop="true"
+        app:lottie_autoPlay="true" />
+
+    <TextView
+        android:id="@+id/carousel_text"
+        android:textSize="@dimen/remoteauth_introduction_subheading_text_size"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_introduction_image_carousel_progress_icon.xml b/res/layout/remote_auth_introduction_image_carousel_progress_icon.xml
new file mode 100644
index 0000000..b9ee39a
--- /dev/null
+++ b/res/layout/remote_auth_introduction_image_carousel_progress_icon.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+    Copyright (C) 2023 The Android Open Source Project
+
+    Licensed under the Apache License, Version 2.0 (the "License")
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+        http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+           xmlns:app="http://schemas.android.com/apk/res-auto"
+           android:layout_width="@dimen/remoteauth_carousel_progress_circle_diameter"
+           android:layout_height="@dimen/remoteauth_carousel_progress_circle_diameter"
+           android:layout_marginHorizontal="@dimen/remoteauth_carousel_progress_circle_margin"
+           android:background="@drawable/ring_progress" />
\ No newline at end of file
diff --git a/res/raw/remoteauth_enroll_finish_animation.json b/res/raw/remoteauth_enroll_finish_animation.json
new file mode 100644
index 0000000..a06ae37
--- /dev/null
+++ b/res/raw/remoteauth_enroll_finish_animation.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":248,"w":412,"h":300,"nm":"Active_Unlock_PT2_V05","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[0]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[360]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[360]},{"t":237,"s":[0]}],"ix":10},"p":{"a":0,"k":[85.699,151.401,0],"ix":2,"l":2},"a":{"a":0,"k":[84.949,150.651,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"t":237,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[2.768]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[4.568]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[4.568]},{"t":237,"s":[2.768]}],"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[94.549,146.301],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[171.326,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[186.326,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[186.326,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[171.326,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":20,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":83,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":103,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":123,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":125,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":145,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":165,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":208,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":228,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":248,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.701,150.999],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[191.201,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[206.201,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[206.201,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[191.201,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":7,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":27,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":47,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":76,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":96,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":116,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":132,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":152,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":172,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":201,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":221,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":241,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.701,150.999],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[210.701,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[225.701,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[225.701,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[210.701,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":14,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":34,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":54,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":69,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":89,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":109,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":139,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":159,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":179,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":194,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":214,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":234,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.701,150.999],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[230.076,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[245.076,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[245.076,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[230.076,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":21,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":41,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":61,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":62,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":82,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":102,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":146,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":166,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":186,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":187,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":207,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":227,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.701,150.999],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue400","cl":"blue400","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.431,10.775,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":88,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":207,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":217,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":227,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"t":247,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[315.859,148.919,0],"ix":2,"l":2},"a":{"a":0,"k":[9.912,13.777,0],"ix":1,"l":2},"s":{"a":0,"k":[147,147,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.067,0],[0,1.067],[1.067,0],[0,-1.068]],"o":[[1.067,0],[0,-1.068],[-1.067,0],[0,1.067]],"v":[[0,6.764],[1.932,4.831],[0,2.898],[-1.932,4.831]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,-0.533],[0,0],[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0]],"o":[[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0],[0,0],[0,-0.533],[0,0]],"v":[[-6.763,-1.932],[-7.73,-0.966],[-7.73,10.629],[-6.763,11.594],[6.763,11.594],[7.73,10.629],[7.73,-0.966],[6.763,-1.932]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,-1.601],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0]],"o":[[0,0],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0],[0,0],[0,-1.601],[0,0]],"v":[[-5.797,-3.865],[5.797,-3.865],[6.763,-3.865],[9.662,-0.966],[9.662,10.629],[6.763,13.527],[-6.763,13.527],[-9.662,10.629],[-9.662,-0.966],[-6.763,-3.865]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[9.912,13.777],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"MATTE","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,150,0],"ix":2,"l":2},"a":{"a":0,"k":[56.29,104.464,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.337,0],[0,0],[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337]],"o":[[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337],[0,0],[4.337,0],[0,0]],"v":[[52.107,94.382],[44.242,102.248],[-46.208,102.248],[-54.074,94.382],[-54.074,-94.382],[-46.208,-102.248],[44.242,-102.248],[52.107,-94.382]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":0,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.498039245605,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[56.29,104.464],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,152.207,0],"ix":2,"l":2},"a":{"a":0,"k":[74.06,74.06,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.72,-30.74],[30.74,3.72],[-3.719,30.741],[-30.74,-3.719]],"o":[[-3.72,30.74],[-30.74,-3.719],[3.72,-30.74],[30.74,3.72]],"v":[[55.66,6.735],[-6.735,55.66],[-55.66,-6.735],[6.735,-55.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[33]},{"t":120,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.06,74.06],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":60,"s":[0,0]},{"t":120,"s":[610,610]}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".blue300matte","cl":"blue300matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549019608,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[317.85,151.9],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".blue600","cl":"blue600","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[314.647,152.796,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[225]},{"t":248,"s":[585]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[45]},{"t":248,"s":[405]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".blue300","cl":"blue300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549019608,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[317.85,151.9],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[88.803,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[88.803,150.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[24.601,0],[0,24.6],[-24.6,0],[0,-24.6]],"o":[[-24.6,0],[0,-24.6],[24.601,0],[0,24.6]],"v":[[-1.45,44.6],[-46.05,-0.001],[-1.45,-44.6],[43.151,-0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.5,0],[0,0],[24.101,0],[0,-26.1],[-26.1,0],[-3.8,22.401],[0,0],[0,1.5],[0,0]],"o":[[0,0],[-2.9,-23.299],[-26.1,0],[0,26.1],[23.4,0],[0,0],[1.5,0],[0,0],[0.099,-1.5]],"v":[[46.051,-5.9],[45.551,-5.9],[-1.45,-47.299],[-48.75,-0.001],[-1.45,47.299],[45.25,7.799],[45.95,7.799],[48.651,5.1],[48.651,-3.199]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[88.849,150.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"ClockFace_Mask","parent":24,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[87.399,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[87.399,150.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-25.405,0],[0,25.405],[25.404,0],[0,-25.405]],"o":[[25.404,0],[0,-25.405],[-25.405,0],[0,25.405]],"v":[[0,46],[46,0],[0,-46],[-46,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[87.399,150.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":".grey300","cl":"grey300","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":50,"s":[6]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":187,"s":[6]},{"t":237,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[86.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":0.2},"o":{"x":0.7,"y":0.7},"t":50,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":187,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"t":237,"s":[86.4,150.05,0]}],"ix":2,"l":2},"a":{"a":0,"k":[87.4,151.05,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[5.1,0],[0,0],[0.5,-4.3],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-5.1,0],[0,0],[-0.5,4.3],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.5,-4.3],[0,0],[-5.1,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.5,4.301],[0,0],[5.1,0],[0,0],[0,0],[0,0]],"v":[[29.3,-7.85],[29.4,-9.35],[29.1,-9.35],[22.699,-68.05],[12.8,-75.65],[-12,-75.65],[-21.9,-68.15],[-29,-9.35],[-29.4,-9.35],[-29.301,-7.65],[-29.4,-6.45],[-29.2,-6.45],[-22.801,68.049],[-12.9,75.65],[11.9,75.65],[21.8,68.15],[29,-6.45],[29.3,-6.45]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[87.4,151.05],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
diff --git a/res/raw/remoteauth_explanation_notification_animation.json b/res/raw/remoteauth_explanation_notification_animation.json
new file mode 100644
index 0000000..21298a7
--- /dev/null
+++ b/res/raw/remoteauth_explanation_notification_animation.json
@@ -0,0 +1 @@
+{"v":"5.9.4","fr":60,"ip":0,"op":301,"w":412,"h":300,"nm":"WatchUnlock_Swipe_V02","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"ARM_MOVEIN","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[-36]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":98,"s":[1]},{"t":123,"s":[0]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[-109]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":98,"s":[-29]},{"t":123,"s":[-29]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[278.5]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":98,"s":[288.5]},{"t":123,"s":[288.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 69","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.05],"y":[1]},"o":{"x":[0.4],"y":[0.016]},"t":142,"s":[-41]},{"t":172,"s":[180]}],"ix":10},"p":{"a":0,"k":[111.832,-121.374,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.4,"y":0.01},"t":142,"s":[0.873,0.253,0],"to":[0,0,0],"ti":[0,0,0]},{"t":172,"s":[3.123,8.128,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-1.7,5.7,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.4,"y":0.01},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.517,5.049],[-2.516,5.511],[-15.017,14.239]],"c":false}]},{"t":172,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[7.341,-2.523],[0.246,-9.791],[-15.652,5.505]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.05],"y":[1]},"o":{"x":[0.4],"y":[0.01]},"t":142,"s":[2.768]},{"t":172,"s":[4]}],"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.68],"y":[0]},"t":114,"s":[100]},{"t":137,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.401,-121.376,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.68,0.68,0.68],"y":[0,0,0]},"t":114,"s":[70,70,100]},{"t":154,"s":[165,165,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21.155,0],[0,21.155],[21.155,0],[0,-21.155]],"o":[[21.155,0],[0,-21.155],[-21.155,0],[0,21.155]],"v":[[0,38.304],[38.304,0],[0,-38.304],[-38.304,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.68],"y":[0]},"t":109,"s":[100]},{"t":132,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.401,-121.376,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.68,0.68,0.68],"y":[0,0,0]},"t":109,"s":[70,70,100]},{"t":149,"s":[165,165,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21.155,0],[0,21.155],[21.155,0],[0,-21.155]],"o":[[21.155,0],[0,-21.155],[-21.155,0],[0,21.155]],"v":[[0,38.304],[38.304,0],[0,-38.304],[-38.304,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.68],"y":[0]},"t":104,"s":[100]},{"t":127,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.401,-121.376,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.68,0.68,0.68],"y":[0,0,0]},"t":104,"s":[70,70,100]},{"t":144,"s":[165,165,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21.155,0],[0,21.155],[21.155,0],[0,-21.155]],"o":[[21.155,0],[0,-21.155],[-21.155,0],[0,21.155]],"v":[[0,38.304],[38.304,0],[0,-38.304],[-38.304,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.832,-121.374,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-10.594,-9.096],[0,0],[-0.6,-0.662],[0,0],[0.662,-0.6],[0,0],[10.309,-9.354],[10.42,11.484],[-11.484,10.42]],"o":[[0,0],[0.662,-0.6],[0,0],[0.6,0.662],[0,0],[7.288,11.344],[-11.484,10.42],[-10.42,-11.484],[10.603,-9.621]],"v":[[18.303,-21.346],[18.509,-21.533],[20.794,-21.422],[24.106,-17.771],[23.995,-15.486],[23.666,-15.188],[18.899,20.825],[-20.825,18.895],[-18.895,-20.829]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[-9.811,-10.813],[-10.813,9.811],[9.811,10.813],[10.813,-9.811]],"o":[[9.811,10.813],[10.813,-9.811],[-9.811,-10.813],[-10.813,9.811]],"v":[[-19.607,17.79],[17.794,19.608],[19.611,-17.794],[-17.79,-19.611]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".black","cl":"black","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.834,-121.376,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.077,0],[0,15.077],[15.077,0],[0,-15.077]],"o":[[15.077,0],[0,-15.077],[-15.077,0],[0,15.077]],"v":[[0,27.3],[27.3,0],[0,-27.3],[-27.3,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".grey600","cl":"grey600","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.779,-121.054,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.708,0],[0,0],[0,-3.708],[0,0],[-3.708,0],[0,0],[0,3.708],[0,0]],"o":[[0,0],[-3.708,0],[0,0],[0,3.708],[0,0],[3.708,0],[0,0],[0,-3.708]],"v":[[7.89,-43.955],[-7.89,-43.955],[-14.604,-37.241],[-14.604,37.241],[-7.89,43.955],[7.89,43.955],[14.604,37.241],[14.604,-37.241]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":-45.085,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"ARM_MATTE","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.291,0],[0,0],[0,15.544],[0,0],[15.185,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[15.291,0],[0,0],[0,-15.652],[0,0],[-15.291,0],[0,0],[0,15.652]],"v":[[-178.179,150],[178.179,150],[206,121.63],[206,-121.522],[178.286,-150],[-178.179,-150],[-206,-121.522],[-206,121.522]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".ARM","cl":"ARM","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.741,-103.962,0],"ix":2,"l":2},"a":{"a":0,"k":[70.741,184.538,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.655,-2.066],[-3.456,3.089],[-0.727,2.001],[6.57,-2.938],[1.123,-0.781]],"o":[[3.09,3.858],[1.562,-1.396],[-1.59,-3.044],[-0.621,0.278],[-1.445,2.431]],"v":[[-7.102,3.861],[5.015,3.281],[8.462,-2.035],[-4.657,-4.993],[-7.478,-3.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[179.859,51.354],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"NAIL02","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.789,-3.482],[-3.664,3.275],[-0.776,1.898],[0.965,1.317],[3.65,-0.938],[0.629,-0.271]],"o":[[3.275,4.09],[1.497,-1.338],[-0.114,-1.715],[-1.943,-2.652],[-0.576,0.148],[-5.718,3.453]],"v":[[-7.41,5.19],[5.435,4.575],[8.852,-0.454],[7.201,-5.191],[-1.476,-7.214],[-3.288,-6.57]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[193.112,61.459],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"NAIL03","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-2.785,-3.297],[-3.598,2.935],[-0.359,2.597],[1.361,1.315],[3.021,-1.351],[0.459,-0.402]],"o":[[2.726,3.227],[2.715,-2.215],[-0.34,-1.711],[-2.006,-1.939],[-0.64,0.361],[-4.343,3.807]],"v":[[-7.079,6.003],[3.759,5.398],[8.503,-1.933],[5.848,-6.523],[-2.397,-7.083],[-4.066,-5.926]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[200.839,77.801],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"NAIL04","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.054,0.069],[3.134,-3.216],[-3.656,-0.921],[-2.12,1.21],[2.5,3.492]],"o":[[-3.115,0.692],[-3.74,3.838],[2.277,-1.784],[5.445,-3.108],[-0.051,-0.072]],"v":[[5.47,-8.52],[-4.469,-2.73],[-4.24,8.52],[2.352,3.972],[5.636,-8.315]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[197.006,138.999],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"NAIL05","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.218,-1.793],[-2.951,2.16],[-0.735,1.587],[3.737,-0.592],[1.715,-0.583]],"o":[[2.081,3.065],[1.426,-1.044],[-1.139,-2.009],[-1.553,0.246],[-1.704,1.884]],"v":[[-5.994,2.581],[3.488,2.745],[6.766,-1.405],[-0.383,-4.508],[-5.294,-3.253]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[161.194,48.38],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"NAIL01","np":1,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[181.885,95.635],"ix":2},"a":{"a":0,"k":[181.885,95.635],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"**NAILS_ALL","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[19.626,-23.614],[0,0]],"v":[[-22.789,21.283],[22.789,-21.283]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[162.285,79.254],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"HAND_LINE02","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[17.08,-19.479],[0,0]],"v":[[-20.252,19.975],[20.252,-19.975]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[174.516,92.317],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"HAND_LINE03","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[-4.46,5.397]],"o":[[0,0],[0,0]],"v":[[-2.244,4.895],[2.244,-4.895]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[151.152,152.075],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"HAND_LINE04","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[-23.247,14.788],[0,0]],"v":[[21.471,-19.895],[-21.471,19.895]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[146.926,70.198],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"HAND_LINE01","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[160.112,103.636],"ix":2},"a":{"a":0,"k":[160.112,103.636],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"**HANDLINES","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.419,-0.748],[5.969,-0.945],[10.255,-24.939],[-36.35,-2.06],[-17.34,9.896],[2.5,3.492],[3.993,-1.291],[7.157,-4.738],[6.054,-3.157],[0,0],[-14.285,16.96],[-6.401,8.234],[3.021,2.921],[3.564,-2.542],[7.775,-6.976],[-1.695,1.94],[2.084,2.844],[3.65,-0.938],[1.658,-0.984],[0.655,2.35],[7.279,-3.256]],"o":[[0.159,-2.71],[-24.069,3.813],[-11.885,28.904],[32.782,1.857],[5.445,-3.108],[-2.429,-3.393],[-2.891,0.935],[-6.302,4.173],[-6.053,3.158],[0,0],[9.729,-11.551],[3.338,-4.294],[-2.537,-2.453],[-1.787,1.274],[9.925,-9.708],[2.32,-2.655],[-1.943,-2.652],[-1.357,0.349],[0.878,-1.227],[-0.933,-3.346],[-1.364,0.61]],"v":[[25.212,-63.227],[17.166,-69.856],[-62.543,5.248],[-16.676,69.9],[55.713,29.243],[58.997,16.956],[47.025,14.009],[36.082,19.299],[20.024,30.081],[9.751,33.451],[36.325,0.072],[63.773,-31.101],[63.042,-42.45],[52.466,-41.676],[36.191,-27.576],[56.718,-47.307],[56.668,-57.46],[47.992,-59.484],[43.473,-57.441],[45.072,-63.423],[31.556,-67.367]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[143.645,113.728],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"HAND_MAIN","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[-21.556,20.677],[0,0],[0,0],[0,0],[0,0]],"v":[[27.077,-29.148],[-27.077,29.148],[-14.87,27.435],[6.884,12.719],[18.881,-4.638]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[94.789,96.955],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"HAND_PATCH","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-105.823,62.116],[-50.508,114.467],[105.823,-53.888],[57.346,-114.467]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[37.822,210.857],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"ARM","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.088,0.077],[3.356,-3.614],[0,0],[0,0],[0,0],[3.196,-0.137]],"o":[[-4.92,-0.347],[0,0],[0,0],[0,0],[0,0],[-0.776,0.033]],"v":[[10.868,5.348],[-2.224,10.502],[-14.819,0],[-7.352,-10.502],[11.989,-4.804],[13.744,5.43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[116.337,178.271],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"HAND","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[70.741,184.538],"ix":2},"a":{"a":0,"k":[70.741,184.538],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"**ARM_MAIN","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":3,"nm":"PHONE_REPO","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[206]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.536]},"t":76.834,"s":[244]},{"t":103,"s":[301]}],"ix":3},"y":{"a":0,"k":150,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":3,"nm":"Launcher_ScaleIN","parent":13,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":1.25,"ix":3},"y":{"a":0,"k":22.5,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,0.15,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":144,"s":[80,80,100]},{"i":{"x":[0.1,0.1,0.1],"y":[1,1,1]},"o":{"x":[0.05,0.05,0.05],"y":[0.7,0.7,0]},"t":152.334,"s":[88,88,100]},{"t":194,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Launcher_01","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-37.512,40.271,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Launcher_02","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-13.623,40.271,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431606,0.937254905701,0.764705896378,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Launcher_03","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[10.266,40.121,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392158031,0.823529422283,0.811764717102,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Launcher_04","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[34.155,40.271,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".grey800","cl":"grey800","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('Launcher_ScaleIN').transform.opacity;"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1.803,57.487,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.134,0],[0,0],[0,-3.134],[0,0],[-3.134,0],[0,0],[0,3.134],[0,0]],"o":[[0,0],[-3.134,0],[0,0],[0,3.134],[0,0],[3.134,0],[0,0],[0,-3.134]],"v":[[36.718,-5.872],[-36.718,-5.872],[-42.393,-0.197],[-42.393,0.197],[-36.718,5.872],[36.718,5.872],[42.393,0.197],[42.393,-0.197]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":20,"ty":3,"nm":"SWIPE_MOVE","parent":13,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":40,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":70,"s":[-35]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[-35]},{"t":160,"s":[-65]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"SWIPE","parent":20,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":55,"s":[100]},{"t":65,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.45,"y":0},"t":0,"s":[-19.564,102.3,0],"to":[0,0,0],"ti":[-0.936,17.2,0]},{"t":30,"s":[0.436,77.3,0]}],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[6.432,0],[0,0],[0,-6.432],[0,0],[-6.432,0],[0,0],[0,6.432],[0,0]],"o":[[0,0],[-6.432,0],[0,0],[0,6.432],[0,0],[6.432,0],[0,0],[0,-6.432]],"v":[[0,-3.467],[0,-3.467],[-11.645,8.179],[-11.645,9.321],[0,20.967],[0,20.967],[11.645,9.321],[11.645,8.179]],"c":true}]},{"t":60,"s":[{"i":[[6.432,0],[0,0],[0,-6.432],[0,0],[-6.432,0],[0,0],[0,6.432],[0,0]],"o":[[0,0],[-6.432,0],[0,0],[0,6.432],[0,0],[6.432,0],[0,0],[0,-6.432]],"v":[[0,-20.967],[0,-20.967],[-11.645,-9.321],[-11.645,9.321],[0,20.967],[0,20.967],[11.645,9.321],[11.645,-9.321]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":15,"k":{"a":0,"k":[0.079,0.4,0.616,0.965,0.089,0.396,0.612,0.963,0.1,0.392,0.608,0.961,0.154,0.375,0.596,0.959,0.208,0.357,0.584,0.957,0.262,0.341,0.573,0.955,0.316,0.325,0.561,0.953,0.368,0.314,0.553,0.953,0.421,0.302,0.545,0.953,0.471,0.292,0.537,0.951,0.522,0.282,0.529,0.949,0.57,0.275,0.525,0.949,0.618,0.267,0.522,0.949,0.663,0.263,0.518,0.949,0.708,0.259,0.514,0.949,0.079,0,0.089,0.026,0.1,0.052,0.154,0.176,0.208,0.3,0.262,0.407,0.316,0.514,0.368,0.601,0.421,0.689,0.471,0.756,0.522,0.824,0.57,0.873,0.618,0.921,0.663,0.951,0.708,0.98],"ix":9}},"s":{"a":0,"k":[0,20.967],"ix":5},"e":{"a":0,"k":[0,-20.967],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"SCREEN_MASK","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":".notif_01","cl":"notif_01","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[20]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-19.366,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.058,0],[0,0],[0,-2.058],[0,0],[-2.058,0],[0,0],[0,2.058],[0,0]],"o":[[0,0],[-2.058,0],[0,0],[0,2.058],[0,0],[2.058,0],[0,0],[0,-2.058]],"v":[[41.08,-10.024],[-41.08,-10.024],[-44.805,-6.298],[-44.805,6.298],[-41.08,10.024],[41.08,10.024],[44.805,6.298],[44.805,-6.298]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"SCREEN_MASK 5","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":".notif_02","cl":"notif_02","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[20]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,5.366,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.058,0],[0,0],[0,-2.058],[0,0],[-2.058,0],[0,0],[0,2.058],[0,0]],"o":[[0,0],[-2.058,0],[0,0],[0,2.058],[0,0],[2.058,0],[0,0],[0,-2.058]],"v":[[41.08,-10.024],[-41.08,-10.024],[-44.805,-6.298],[-44.805,6.298],[-41.08,10.024],[41.08,10.024],[44.805,6.298],[44.805,-6.298]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"SCREEN_MASK 4","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":".white_LOCK","cl":"white_LOCK","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,58.668,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.367,-0.367],[-0.515,0],[0,0],[-0.367,0.367],[0,0.515],[0,0],[0.367,0.367],[0.515,0],[0,0],[0,0],[1.155,1.157],[1.642,0],[1.157,-1.157],[0,-1.641],[0,0],[0,0],[0.367,-0.367],[0,-0.515],[0,0]],"o":[[0.367,0.367],[0,0],[0.515,0],[0.367,-0.367],[0,0],[0,-0.515],[-0.367,-0.367],[0,0],[0,0],[0,-1.641],[-1.155,-1.157],[-1.642,0],[-1.157,1.157],[0,0],[0,0],[-0.515,0],[-0.367,0.367],[0,0],[0,0.515]],"v":[[-9.441,12.564],[-8.118,13.114],[8.118,13.114],[9.441,12.564],[9.991,11.24],[9.991,-2.311],[9.441,-3.634],[8.118,-4.184],[5.932,-4.184],[5.932,-7.181],[4.2,-11.379],[0.003,-13.114],[-4.196,-11.379],[-5.932,-7.181],[-5.932,-4.184],[-8.118,-4.184],[-9.441,-3.634],[-9.991,-2.311],[-9.991,11.24]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.118,11.24],[-8.118,11.24],[-8.118,-2.311],[8.118,-2.311]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.468,-0.459],[0.663,0],[0.472,0.458],[0,0.635],[-0.468,0.51],[-0.663,0],[-0.472,-0.51],[0,-0.624]],"o":[[-0.468,0.459],[-0.663,0],[-0.472,-0.458],[0,-0.635],[0.468,-0.51],[0.663,0],[0.472,0.51],[0,0.644]],"v":[[1.702,6.181],[0.005,6.869],[-1.696,6.182],[-2.404,4.543],[-1.702,2.826],[-0.005,2.061],[1.696,2.826],[2.404,4.527]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.791,0.789],[-1.126,0],[-0.789,-0.789],[0,-1.128]],"o":[[0,0],[0,0],[0,-1.128],[0.791,-0.789],[1.126,0],[0.789,0.789],[0,0]],"v":[[4.059,-4.184],[-4.059,-4.184],[-4.059,-7.181],[-2.873,-10.057],[0.004,-11.24],[2.876,-10.057],[4.059,-7.181]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"SCREEN_MASK 3","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":".white_TIME","cl":"white_TIME","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.436,-54.05,0],"ix":2,"l":2},"a":{"a":0,"k":[301.436,95.95,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.657,-0.758],[-0.859,-0.375],[-0.878,0],[-0.977,0.557],[-0.558,0.959],[0,1.169],[0.549,0.95],[0.923,0.53],[1.077,0],[0.969,-0.822],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.585,0.302],[-0.658,0],[-0.767,-0.776],[0,-1.187],[0.776,-0.749],[1.223,0],[0.731,0.667],[0.292,1.114],[0,0]],"o":[[0.658,0.759],[0.859,0.374],[1.223,0],[0.978,-0.557],[0.557,-0.959],[0,-1.169],[-0.549,-0.949],[-0.922,-0.529],[-1.408,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.365,-0.53],[0.585,-0.301],[1.205,0],[0.768,0.777],[0,1.205],[-0.776,0.749],[-1.024,0],[-0.731,-0.667],[0,0],[0.273,1.114]],"v":[[-4.96,7.33],[-2.685,9.029],[-0.082,9.59],[3.219,8.755],[5.522,6.48],[6.356,3.289],[5.535,0.11],[3.329,-2.11],[0.329,-2.904],[-3.234,-1.671],[-3.343,-1.699],[-2.604,-7.371],[5.179,-7.371],[5.179,-9.59],[-4.521,-9.59],[-5.726,-0.136],[-3.37,0.904],[-1.945,-0.343],[-0.082,-0.794],[2.877,0.37],[4.028,3.316],[2.863,6.247],[-0.136,7.371],[-2.768,6.371],[-4.301,3.699],[-6.356,4.522]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[317.59,96.169],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[-2.206,-3.754],[1.083,-6.11],[1.083,9.371],[3.411,9.371],[3.411,-9.371],[1.932,-9.371],[-3.411,-5.535]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[303.957,95.95],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":1,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-0.493],[-0.339,-0.338],[-0.493,0],[-0.339,0.338],[0,0.493],[0.338,0.339],[0.494,0],[0.338,-0.338]],"o":[[0,0.493],[0.338,0.338],[0.494,0],[0.338,-0.338],[0,-0.493],[-0.339,-0.338],[-0.493,0],[-0.339,0.339]],"v":[[-1.754,-5.316],[-1.247,-4.069],[0,-3.562],[1.247,-4.069],[1.754,-5.316],[1.247,-6.563],[0,-7.069],[-1.247,-6.563]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-0.475],[-0.339,-0.338],[-0.493,0],[-0.339,0.339],[0,0.493],[0.338,0.338],[0.494,0],[0.338,-0.338]],"o":[[0,0.493],[0.338,0.339],[0.494,0],[0.338,-0.338],[0,-0.475],[-0.339,-0.338],[-0.493,0],[-0.339,0.338]],"v":[[-1.754,5.316],[-1.247,6.562],[0,7.069],[1.247,6.562],[1.754,5.316],[1.247,4.096],[0,3.589],[-1.247,4.096]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[296.053,98.251],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.548,-0.85],[-0.969,-0.493],[-1.187,0],[-0.968,0.494],[-0.557,0.85],[0,1.041],[0.576,0.795],[0.932,0.457],[0,0],[-0.466,0.722],[0,0.786],[0.484,0.804],[0.868,0.457],[1.078,0],[0.867,-0.456],[0.484,-0.803],[0,-0.986],[-0.466,-0.722],[-0.731,-0.438],[0,0],[0.576,-0.795],[0,-1.06]],"o":[[0.548,0.85],[0.968,0.494],[1.169,0],[0.968,-0.493],[0.557,-0.85],[0,-1.06],[-0.575,-0.795],[0,0],[0.712,-0.438],[0.466,-0.722],[0,-0.986],[-0.484,-0.803],[-0.868,-0.456],[-1.096,0],[-0.868,0.457],[-0.484,0.804],[0,0.786],[0.466,0.722],[0,0],[-0.932,0.457],[-0.575,0.795],[0,1.041]],"v":[[-5.508,7.056],[-3.233,9.069],[0,9.809],[3.206,9.069],[5.494,7.056],[6.33,4.22],[5.466,1.439],[3.206,-0.439],[3.206,-0.548],[4.973,-2.288],[5.672,-4.549],[4.946,-7.234],[2.918,-9.124],[0,-9.809],[-2.945,-9.124],[-4.973,-7.234],[-5.7,-4.549],[-5.001,-2.288],[-3.206,-0.548],[-3.206,-0.439],[-5.467,1.439],[-6.33,4.22]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,-1.005],[0.758,-0.648],[1.114,0],[0.767,0.648],[0,1.041],[-0.767,0.648],[-1.114,0],[-0.758,-0.648]],"o":[[0,1.041],[-0.758,0.648],[-1.114,0],[-0.767,-0.648],[0,-1.005],[0.767,-0.648],[1.114,0],[0.758,0.648]],"v":[[3.946,4.083],[2.808,6.618],[0,7.59],[-2.822,6.618],[-3.973,4.083],[-2.822,1.603],[0,0.63],[2.808,1.603]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-0.913],[0.621,-0.566],[0.968,0],[0.63,0.567],[0,0.914],[-0.63,0.539],[-0.969,0],[-0.63,-0.539]],"o":[[0,0.914],[-0.621,0.567],[-0.969,0],[-0.63,-0.566],[0,-0.913],[0.63,-0.539],[0.949,0],[0.63,0.539]],"v":[[3.315,-4.603],[2.384,-2.384],[0,-1.534],[-2.398,-2.384],[-3.343,-4.603],[-2.398,-6.782],[0,-7.59],[2.37,-6.782]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[285.257,95.95],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":".grey600","cl":"grey600","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.436,-1.2,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,-1.086],[0,0],[1.086,0],[0,0],[0,-1.086],[0,0],[1.086,0],[0,0],[5.421,0],[0,0],[0,5.421],[0,0],[-5.421,0],[0,0],[0,-5.421],[0,0]],"o":[[0,0],[0,1.086],[0,0],[1.086,0],[0,0],[0,1.086],[0,0],[0,5.421],[0,0],[-5.421,0],[0,0],[0,-5.421],[0,0],[5.421,0],[0,0],[1.086,0]],"v":[[56.04,-51.124],[56.04,-43.259],[54.073,-41.292],[54.073,-25.562],[56.04,-23.596],[56.04,-3.933],[54.073,-1.966],[54.073,94.382],[44.242,104.214],[-46.208,104.214],[-56.04,94.382],[-56.04,-94.382],[-46.208,-104.214],[44.242,-104.214],[54.073,-94.382],[54.073,-53.09]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,4.337],[0,0],[4.337,0],[0,0],[0,-4.337],[0,0],[-4.337,0]],"o":[[4.337,0],[0,0],[0,-4.337],[0,0],[-4.337,0],[0,0],[0,4.337],[0,0]],"v":[[44.242,102.248],[52.107,94.382],[52.107,-94.382],[44.242,-102.248],[-46.208,-102.248],[-54.073,-94.382],[-54.073,94.382],[-46.208,102.248]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":33,"ty":4,"nm":"SCREEN_MASK 2","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":34,"ty":4,"nm":"Gradient","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.464,-1.411,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[101,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.35,0],[0,0],[0,-4.35],[0,0],[-4.35,0],[0,0],[0,4.35],[0,0]],"o":[[0,0],[-4.35,0],[0,0],[0,4.35],[0,0],[4.35,0],[0,0],[0,-4.35]],"v":[[45.319,-102.459],[-45.318,-102.459],[-53.2,-94.577],[-53.2,94.578],[-45.319,102.459],[45.319,102.459],[53.2,94.578],[53.2,-94.578]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":13,"k":{"a":0,"k":[0.079,0.929,0.8,0.816,0.158,0.837,0.761,0.833,0.236,0.745,0.722,0.851,0.324,0.659,0.684,0.869,0.411,0.573,0.647,0.886,0.496,0.504,0.618,0.898,0.58,0.435,0.588,0.91,0.659,0.386,0.567,0.92,0.738,0.337,0.545,0.929,0.811,0.308,0.533,0.935,0.883,0.278,0.522,0.941,0.941,0.269,0.518,0.945,1,0.259,0.514,0.949],"ix":9}},"s":{"a":0,"k":[-80.036,123.908],"ix":5},"e":{"a":0,"k":[121.911,123.908],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill_1","mn":"ADBE Vector Graphic - G-Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":35,"ty":4,"nm":".black","cl":"black","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206,150,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-15.291,0],[0,0],[0,15.544],[0,0],[15.185,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[15.291,0],[0,0],[0,-15.652],[0,0],[-15.291,0],[0,0],[0,15.652]],"v":[[-178.179,150],[178.179,150],[206,121.63],[206,-121.522],[178.286,-150],[-178.179,-150],[-206,-121.522],[-206,121.522]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/remoteauth_explanation_swipe_animation.json b/res/raw/remoteauth_explanation_swipe_animation.json
new file mode 100644
index 0000000..a06ae37
--- /dev/null
+++ b/res/raw/remoteauth_explanation_swipe_animation.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":248,"w":412,"h":300,"nm":"Active_Unlock_PT2_V05","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[0]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[360]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[360]},{"t":237,"s":[0]}],"ix":10},"p":{"a":0,"k":[85.699,151.401,0],"ix":2,"l":2},"a":{"a":0,"k":[84.949,150.651,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"t":237,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[2.768]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[4.568]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[4.568]},{"t":237,"s":[2.768]}],"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[94.549,146.301],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[171.326,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[186.326,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[186.326,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[171.326,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":20,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":83,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":103,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":123,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":125,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":145,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":165,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":208,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":228,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":248,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.701,150.999],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[191.201,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[206.201,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[206.201,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[191.201,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":7,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":27,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":47,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":76,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":96,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":116,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":132,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":152,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":172,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":201,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":221,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":241,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.701,150.999],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[210.701,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[225.701,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[225.701,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[210.701,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":14,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":34,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":54,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":69,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":89,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":109,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":139,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":159,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":179,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":194,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":214,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":234,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.701,150.999],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[230.076,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[245.076,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[245.076,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[230.076,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":21,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":41,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":61,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":62,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":82,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":102,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":146,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":166,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":186,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":187,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":207,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":227,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[211.701,150.999],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue400","cl":"blue400","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.431,10.775,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":88,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":207,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":217,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":227,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"t":247,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":1,"lj":1,"ml":4,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[315.859,148.919,0],"ix":2,"l":2},"a":{"a":0,"k":[9.912,13.777,0],"ix":1,"l":2},"s":{"a":0,"k":[147,147,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.067,0],[0,1.067],[1.067,0],[0,-1.068]],"o":[[1.067,0],[0,-1.068],[-1.067,0],[0,1.067]],"v":[[0,6.764],[1.932,4.831],[0,2.898],[-1.932,4.831]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,0],[0,-0.533],[0,0],[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0]],"o":[[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0],[0,0],[0,-0.533],[0,0]],"v":[[-6.763,-1.932],[-7.73,-0.966],[-7.73,10.629],[-6.763,11.594],[6.763,11.594],[7.73,10.629],[7.73,-0.966],[6.763,-1.932]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,-1.601],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0]],"o":[[0,0],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0],[0,0],[0,-1.601],[0,0]],"v":[[-5.797,-3.865],[5.797,-3.865],[6.763,-3.865],[9.662,-0.966],[9.662,10.629],[6.763,13.527],[-6.763,13.527],[-9.662,10.629],[-9.662,-0.966],[-6.763,-3.865]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[9.912,13.777],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"MATTE","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,150,0],"ix":2,"l":2},"a":{"a":0,"k":[56.29,104.464,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.337,0],[0,0],[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337]],"o":[[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337],[0,0],[4.337,0],[0,0]],"v":[[52.107,94.382],[44.242,102.248],[-46.208,102.248],[-54.074,94.382],[-54.074,-94.382],[-46.208,-102.248],[44.242,-102.248],[52.107,-94.382]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":0,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.498039245605,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[56.29,104.464],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,152.207,0],"ix":2,"l":2},"a":{"a":0,"k":[74.06,74.06,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[3.72,-30.74],[30.74,3.72],[-3.719,30.741],[-30.74,-3.719]],"o":[[-3.72,30.74],[-30.74,-3.719],[3.72,-30.74],[30.74,3.72]],"v":[[55.66,6.735],[-6.735,55.66],[-55.66,-6.735],[6.735,-55.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[33]},{"t":120,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.06,74.06],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":60,"s":[0,0]},{"t":120,"s":[610,610]}],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".blue300matte","cl":"blue300matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549019608,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[317.85,151.9],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".blue600","cl":"blue600","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[314.647,152.796,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[225]},{"t":248,"s":[585]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[45]},{"t":248,"s":[405]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1","np":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".blue300","cl":"blue300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[0,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.541176470588,0.705882352941,0.972549019608,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[317.85,151.9],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[88.803,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[88.803,150.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[24.601,0],[0,24.6],[-24.6,0],[0,-24.6]],"o":[[-24.6,0],[0,-24.6],[24.601,0],[0,24.6]],"v":[[-1.45,44.6],[-46.05,-0.001],[-1.45,-44.6],[43.151,-0.001]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":0,"k":{"i":[[1.5,0],[0,0],[24.101,0],[0,-26.1],[-26.1,0],[-3.8,22.401],[0,0],[0,1.5],[0,0]],"o":[[0,0],[-2.9,-23.299],[-26.1,0],[0,26.1],[23.4,0],[0,0],[1.5,0],[0,0],[0.099,-1.5]],"v":[[46.051,-5.9],[45.551,-5.9],[-1.45,-47.299],[-48.75,-0.001],[-1.45,47.299],[45.25,7.799],[45.95,7.799],[48.651,5.1],[48.651,-3.199]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.400000029919,0.61568627451,0.964705942191,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[88.849,150.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"ClockFace_Mask","parent":24,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[87.399,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[87.399,150.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-25.405,0],[0,25.405],[25.404,0],[0,-25.405]],"o":[[25.404,0],[0,-25.405],[-25.405,0],[0,25.405]],"v":[[0,46],[46,0],[0,-46],[-46,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[87.399,150.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":".grey300","cl":"grey300","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":50,"s":[6]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":187,"s":[6]},{"t":237,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[86.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":0.2},"o":{"x":0.7,"y":0.7},"t":50,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":187,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"t":237,"s":[86.4,150.05,0]}],"ix":2,"l":2},"a":{"a":0,"k":[87.4,151.05,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0],[5.1,0],[0,0],[0.5,-4.3],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-5.1,0],[0,0],[-0.5,4.3],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.5,-4.3],[0,0],[-5.1,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.5,4.301],[0,0],[5.1,0],[0,0],[0,0],[0,0]],"v":[[29.3,-7.85],[29.4,-9.35],[29.1,-9.35],[22.699,-68.05],[12.8,-75.65],[-12,-75.65],[-21.9,-68.15],[-29,-9.35],[-29.4,-9.35],[-29.301,-7.65],[-29.4,-6.45],[-29.2,-6.45],[-22.801,68.049],[-12.9,75.65],[11.9,75.65],[21.8,68.15],[29,-6.45],[29.3,-6.45]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960784314,0.525490196078,0.545098039216,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[87.4,151.05],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 5f7113a..7f3ff5e 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gesig en <xliff:g id="WATCH">%s</xliff:g> is bygevoeg"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gesig, vingerafdruk en <xliff:g id="WATCH">%s</xliff:g> is bygevoeg"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gesig, vingerafdrukke en <xliff:g id="WATCH">%s</xliff:g> is bygevoeg"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Gesigslot en vingerafdrukslot"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Gesig- en vingerafdrukslot"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Gesig- en Vingerafdrukslot vir werk"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Opstelling is nodig"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Gesig en vingerafdrukke is bygevoeg"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Gesig"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Wagwoord • Gesig"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Gaan voort sonder Gesigslot"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Patroon • Gesig • Vingerafdruk"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Gesig • Vingerafdruk"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Wagwoord • Gesig • Vingerafdruk"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Gaan voort sonder Gesigslot of Vingerafdruk"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Gaan voort sonder vingerafdruk of gesig"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Geen"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Swiep"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patroon"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Af"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Wys witbalans"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Bly ontsluit wanneer gevou"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Hou boonste skerm ontsluit wanneer gevou tot skermuitteltyd"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Gladde Vertoning"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Verhoog die herlaaikoers vir sommige inhoud outomaties van 60 tot <xliff:g id="ID_1">%1$s</xliff:g> Hz. Verhoog batterygebruik."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Dwing na hoogste herlaaikoers"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"skermvasspeld"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"werkuitdaging, werk, profiel"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"werkprofiel, bestuurde profiel, verenig, vereniging, werk, profiel"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"wakker, slaap, moenie sluit nie, bly ontsluit met vou, vou tans, maak tans toe, vou, maak toe, skerm af"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gebare"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betaal, tik, betalings"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Aktiveer ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Aktiveer ANGLE as stelsel-OpenGL ES-drywer"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Aktiveer ANGLE as verstek-OpenGL ES-drywer. Aktivering daarvan op onversoenbare toestelle kan sommige apps breek."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"’n Herselflaai word vereis om die stelsel-OpenGL ES-drywer te verander"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Veranderinge aan programversoenbaarheid"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Wissel veranderinge aan programversoenbaarheid"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nee, dankie"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Kanselleer"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Skakel oor"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Skakel af"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Kan nie SIM aktiveer nie"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Probeer weer om die SIM aan te skakel. Herbegin jou toestel as die probleem voortduur."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Netwerkaktivering"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Deïnstalleer app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps wat in die afgelope # maand geïnstalleer is}other{Apps wat in die afgelope # maande geïnstalleer is}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps wat meer as # maand gelede geïnstalleer is}other{Apps wat meer as # maande gelede geïnstalleer is}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Voorgestelde apps"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps wat jy geïgnoreer het"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Appverstek"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Vingerafdruksensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Flitskennisgewings"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Meer oor flitskennisgewings"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aan"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Af"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aan"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Jou toestelnaam is sigbaar vir apps wat jy geïnstalleer het. Ander mense sal dit dalk ook kan sien as jy aan Bluetooth-toestelle koppel, aan ’n wi-fi-netwerk koppel, of ’n wi-fi-warmkol opstel."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatikale geslag"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Kies grammatikale geslag"</string>
 </resources>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index 488bd6b..03f79b4 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -88,7 +88,7 @@
   <string-array name="bluetooth_audio_routing_titles">
     <item msgid="3488687531285795335">"የመተግበሪያ ነባሪን ይጠቀሙ"</item>
     <item msgid="5112879855377353813">"በመስሚያ መሣሪያ ያጫውቱ"</item>
-    <item msgid="4853360663119482646">"በስልክ ድምጽ ማውጫ ያጫውቱ"</item>
+    <item msgid="4853360663119482646">"በስልክ ድምፅ ማውጫ ያጫውቱ"</item>
   </string-array>
   <string-array name="wifi_signal">
     <item msgid="199360311367724149">"ደካማ"</item>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index ce81c66..3bb1c81 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -69,7 +69,7 @@
     <string name="bluetooth_device_controls_specific" msgid="7706863288754077107">"ለዚህ መሳሪያ"</string>
     <string name="bluetooth_audio_routing_title" msgid="5541729245424856226">"የኦዲዮ ውጽዓት"</string>
     <string name="bluetooth_audio_routing_about_title" msgid="5773336779246891954">"ስለኦዲዮ ውፅዓት"</string>
-    <string name="bluetooth_audio_routing_summary" msgid="7180947533985969066">"ድምጾችን ወደ የመስሚያ መሣሪያዎ ወይም ወደ ስልክዎ ድምጽ ማውጫ ያዙሩ"</string>
+    <string name="bluetooth_audio_routing_summary" msgid="7180947533985969066">"ድምጾችን ወደ የመስሚያ መሣሪያዎ ወይም ወደ ስልክዎ ድምፅ ማውጫ ያዙሩ"</string>
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ተዛማጅ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"የጥሪ ቅላጼ እና ማንቂያዎች"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"ኦዲዮ በጥሪዎች ወቅት"</string>
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"መልክ እና <xliff:g id="WATCH">%s</xliff:g> ታክለዋል"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"መልክ፣ የጣት አሻራ እና <xliff:g id="WATCH">%s</xliff:g> ታክለዋል"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"መልክ፣ የጣት አሻራዎች እና <xliff:g id="WATCH">%s</xliff:g> ታክለዋል"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"በመልክ እና በጣት አሻራ መክፈት"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"የጣት አሻራ እና በመልክ መክፈት"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"በመልክ እና በጣት አሻራ መክፈቻ ለሥራ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ውቅረት ያስፈልጋል"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"መልክ እና የጣት አሻራዎች ታክለዋል"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"ፒን • መልክ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"የይለፍ ቃል • መልክ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ያለመልክ መክፈት ይቀጥሉ"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"ስርዓተ ጥለት • መልክ • የጣት አሻራ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"ፒን • መልክ • የጣት አሻራ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"የይለፍ ቃል • መልክ • የጣት አሻራ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ያለመልክ ወይም የጣት አሻራ ይቀጥሉ"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ያለ የጣት አሻራ ወይም መልክ ይቀጥሉ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ምንም"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ማንሸራተት"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ሥርዓተ ጥለት"</string>
@@ -964,7 +961,7 @@
     <string name="wifi_calling_off_explanation" msgid="6295526820826322895">"የWi-Fi ጥሪ ሲበራ የእርስዎ ስልክ በምርጫዎ እና በየትኛው ይበልጥ ጠንካራ እንደሆነ የሚወሰን ሆኖ ጥሪዎችን በWi-Fi አውታረ መረቦች ወይም በአገልግሎት አቅራቢዎ አውታረ መረብ በኩል ሊያዞር ይችላል። ይህን ባህሪ ከማብራትዎ በፊት ክፍያዎችን እና ሌሎች ዝርዝሮችን በተመለከተ አገልግሎት አቅራቢዎን ያነጋግሩ።<xliff:g id="ADDITIONAL_TEXT">%1$s</xliff:g>"</string>
     <string name="wifi_calling_off_explanation_2" msgid="3487475808574416183"></string>
     <string name="emergency_address_title" msgid="8102786488994263815">"የድንገተኛ አደጋ አድራሻ"</string>
-    <string name="emergency_address_summary" msgid="3022628750270626473">"በWi-Fi ላይ የአስቸኳይ አደጋ ጥሪ ሲያደርጉ እንደ የእርስዎ አካባቢ ሆኖ ስራ ላይ ይውላል"</string>
+    <string name="emergency_address_summary" msgid="3022628750270626473">"በWi-Fi ላይ የአስቸኳይ አደጋ ጥሪ ሲያደርጉ እንደ የእርስዎ አካባቢ ሆኖ ሥራ ላይ ይውላል"</string>
     <string name="private_dns_help_message" msgid="851221502063782306">"ስለግል ዲኤንኤስ ባህሪያት "<annotation id="url">"የበለጠ ይረዱ"</annotation></string>
     <string name="private_dns_mode_on" msgid="8878679071975375696">"በርቷል"</string>
     <string name="wifi_calling_settings_activation_instructions" msgid="3936067355828542266">"የWi-Fi ጥሪ አደራረግን አግብር"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ጠፍቷል"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"ነጭ ሚዛንን አሳይ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"በማጠፍ ላይ እንደተከፈተ ይቆይ"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"ማያ ጊዜው እስከሚያልቅ ድረስ ሲታጠፍ የፊት ማሳያ እንደተከፈተ ይቆይ"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ለስላሳ ማሳያ"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ለአንዳንድ ይዘት የማደሻ ፍጥነቱን በራስ-ሰር ከ60 ወደ <xliff:g id="ID_1">%1$s</xliff:g> ኸርዝ ያሳድገዋል። የባትሪ አጠቃቀምን ይጨምራል።"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ከፍተኛ የእድሳት ፍጥነትን አስገድድ"</string>
@@ -1176,7 +1175,7 @@
     <string name="storage_menu_mount" msgid="4760531872302820569">"አፈናጥ"</string>
     <string name="storage_menu_unmount" msgid="8171552487742912282">"አስወጣ"</string>
     <string name="storage_menu_format" msgid="8903698999905354146">"ኤስዲ ካርድን ለተንቀሳቃሽ ማከማቻ ቅርጸት ይስሩበት"</string>
-    <string name="storage_menu_format_button" msgid="7623565190643699626">"የካርድ ቅርጸት ስራ"</string>
+    <string name="storage_menu_format_button" msgid="7623565190643699626">"የካርድ ቅርጸት ሥራ"</string>
     <string name="storage_menu_format_public" msgid="5567214442727034630">"እንደተንቀሳቃሽ ቅረጽ"</string>
     <string name="storage_menu_format_option" msgid="4886059624052908432">"ቅርጸት"</string>
     <string name="storage_menu_migrate" msgid="2196088149560070193">"ውሂብ ስደድ"</string>
@@ -1396,7 +1395,7 @@
     <string name="location_time_zone_detection_not_applicable" msgid="6757964612836952714">"የአካባቢ የሰዓት ሰቅ ማወቂያ ተሰናክሏል"</string>
     <string name="location_time_zone_detection_not_supported" msgid="3251181656388306501">"የአካባቢ የሰዓት ሰቅ ማወቂያ አይደገፍም"</string>
     <string name="location_time_zone_detection_not_allowed" msgid="8264525161514617051">"የአካባቢ የሰዓት ሰቅ ማወቂያ ለውጦች አይፈቀዱም"</string>
-    <string name="location_time_zone_detection_auto_is_on" msgid="8797434659844659323">"የሰዓት ሰቅን ለማቀናበር አካባቢ ስራ ላይ ሊውል ይችላል"</string>
+    <string name="location_time_zone_detection_auto_is_on" msgid="8797434659844659323">"የሰዓት ሰቅን ለማቀናበር አካባቢ ሥራ ላይ ሊውል ይችላል"</string>
     <string name="about_settings_summary" msgid="4831942939227432513">"የሕግ መረጃ፣ኹነታ፣ የሶፍትዌር ሥሪት እይ"</string>
     <string name="legal_information" msgid="7509900979811934843">"የህግ መረጃ"</string>
     <string name="manual" msgid="3651593989906084868">"መመሪያ"</string>
@@ -1613,7 +1612,7 @@
     <string name="app_install_details_summary" msgid="2013043219249992373">"መተግበሪያ ከ<xliff:g id="APP_STORE">%1$s</xliff:g> ተጭኗል"</string>
     <string name="instant_app_details_summary" msgid="417197491598208216">"በ<xliff:g id="APP_STORE">%1$s</xliff:g> ላይ ተጨማሪ መረጃ"</string>
     <string name="app_ops_running" msgid="6127474473137428721">"ሩጫ"</string>
-    <string name="app_ops_never_used" msgid="9038133162371204506">"(በጭራሽ ስራ ላይ ያልዋለ)"</string>
+    <string name="app_ops_never_used" msgid="9038133162371204506">"(በጭራሽ ሥራ ላይ ያልዋለ)"</string>
     <string name="storageuse_settings_title" msgid="3125650750657988194">"የማከማቻ ጥቅም"</string>
     <string name="service_restarting" msgid="5104563288155809226">"ዳግም በማስጀመር ላይ"</string>
     <string name="cached" msgid="5379485147573438201">"የተሸጎጠ የዳራ ሂደት"</string>
@@ -1751,7 +1750,7 @@
     <string name="keyboard_layout_picker_category_title" msgid="2369473692906329772">"አካላዊ የቁልፍ ሰሌዳ አቀማመጦች"</string>
     <string name="user_dict_settings_title" msgid="680410651924276991">"የግል መዝገበ-ቃላት"</string>
     <string name="user_dict_settings_for_work_title" msgid="1245315720684961770">"የስራ የግል መዝገበ-ቃላት"</string>
-    <string name="user_dict_settings_summary" msgid="4939694372338975081">"እንደ ፊደል አራሚ ባሉ መተግበሪያዎች ውስጥ ስራ ላይ የሚውሉ ቃላትን ያክሉ"</string>
+    <string name="user_dict_settings_summary" msgid="4939694372338975081">"እንደ ፊደል አራሚ ባሉ መተግበሪያዎች ውስጥ ሥራ ላይ የሚውሉ ቃላትን ያክሉ"</string>
     <string name="user_dict_settings_add_menu_title" msgid="8046882347281382968">"አክል"</string>
     <string name="user_dict_settings_add_dialog_title" msgid="3485845465134083084">"ወደ መዝገበ ቃላት አክል"</string>
     <string name="user_dict_settings_add_screen_title" msgid="1866408024073475379">"ሐረግ"</string>
@@ -1781,7 +1780,7 @@
     <string name="allow_bind_app_widget_activity_always_allow_bind" msgid="7268758525344468364">"<xliff:g id="WIDGET_HOST_NAME">%1$s</xliff:g> ፍርግሞች እንዲፈጥርና ውሂባቸውን እንዲደርስ ሁልጊዜ ፍቀድ"</string>
     <string name="testing_usage_stats" msgid="4660643799010906365">"የአጠቃቀም ስታስቲክስ"</string>
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"በአጠቃቀም ጊዜ ደርድር"</string>
-    <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"ለመጨረሻ ጊዜ ስራ ላይ በዋለበት ጊዜ ደርድር"</string>
+    <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"ለመጨረሻ ጊዜ ሥራ ላይ በዋለበት ጊዜ ደርድር"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"በመተግበሪያ ስም ደርድር"</string>
     <string name="last_time_used_label" msgid="2639712813493534074">"ለመጨረሻ ጊዜ ጥቅም ላይ የዋለበት ጊዜ"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ጊዜ አጠቃቀም"</string>
@@ -2151,7 +2150,7 @@
     <string name="print_settings" msgid="8519810615863882491">"ማተም"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ጠፍቷል"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 የህትመት አገልግሎት በርቷል}one{# የህትመት አገልግሎት በርቷል}other{# የህትመት አገልግሎቶች በርተዋል}}"</string>
-    <string name="print_jobs_summary" msgid="7040836482336577323">"{count,plural, =1{1 የህትመት ስራ}one{# የህትመት ስራ}other{# የህትመት ስራዎች}}"</string>
+    <string name="print_jobs_summary" msgid="7040836482336577323">"{count,plural, =1{1 የህትመት ሥራ}one{# የህትመት ሥራ}other{# የህትመት ሥራዎች}}"</string>
     <string name="print_settings_title" msgid="7680498284751129935">"የህትመት አገልግሎቶች"</string>
     <string name="print_no_services_installed" msgid="7554057966540602692">"ምንም አገልግሎቶች አልተጫኑም"</string>
     <string name="print_no_printers_found" msgid="4833082484646109486">"ምንም አታሚዎች አልተገኙም"</string>
@@ -2165,7 +2164,7 @@
     <string name="print_searching_for_printers" msgid="5401413178028348800">"አታሚዎችን በመፈለግ ላይ"</string>
     <string name="print_service_disabled" msgid="9185935228930987786">"አገልግሎት ተሰናክሏል"</string>
     <string name="print_print_jobs" msgid="2605944855933091183">"የህትመት ስራዎች"</string>
-    <string name="print_print_job" msgid="8477859161886726608">"የህትመት ስራ"</string>
+    <string name="print_print_job" msgid="8477859161886726608">"የህትመት ሥራ"</string>
     <string name="print_restart" msgid="4424096106141083945">"እንደገና ጀምር"</string>
     <string name="print_cancel" msgid="7611266511967568501">"ይቅር"</string>
     <string name="print_job_summary" msgid="277210060872032969">"<xliff:g id="PRINTER">%1$s</xliff:g>\n<xliff:g id="TIME">%2$s</xliff:g>"</string>
@@ -2768,7 +2767,7 @@
     <string name="nfc_payment_set_default_instead_of" msgid="565237441045013280">"ንክኪ-አልባ ተርሚናሉ ላይ በ<xliff:g id="APP_0">%1$s</xliff:g> ይክፈሉ።\n\nይህ <xliff:g id="APP_1">%2$s</xliff:g>ን እንደ ነባሪው የክፍያ መተግበሪያዎን ይተካዋል።"</string>
     <string name="nfc_payment_btn_text_set_deault" msgid="1821065137209590196">"ነባሪ አቀናብር"</string>
     <string name="nfc_payment_btn_text_update" msgid="5159700960497443832">"አዘምን"</string>
-    <string name="nfc_work_text" msgid="2496515165821504077">"ስራ"</string>
+    <string name="nfc_work_text" msgid="2496515165821504077">"ሥራ"</string>
     <string name="restriction_settings_title" msgid="4293731103465972557">"ገደቦች"</string>
     <string name="restriction_menu_reset" msgid="92859464456364092">"ገደቦችን አስወግድ"</string>
     <string name="restriction_menu_change_pin" msgid="2505923323199003718">"ፒን ቀይር"</string>
@@ -2828,7 +2827,7 @@
     <string name="restriction_location_enable_summary" msgid="7139292323897390221">"መተግበሪያዎች የአካባቢ መረጃዎትን እንዲጠቀሙ ይፍቀዱ"</string>
     <string name="wizard_back" msgid="8257697435061870191">"ተመለስ"</string>
     <string name="wizard_next" msgid="3884832431439072471">"ቀጣይ"</string>
-    <string name="wizard_back_adoptable" msgid="1447814356855134183">"በሌላ መንገድ ቅርጸት ስራ"</string>
+    <string name="wizard_back_adoptable" msgid="1447814356855134183">"በሌላ መንገድ ቅርጸት ሥራ"</string>
     <string name="regulatory_info_text" msgid="1154461023369976667"></string>
     <string name="sim_settings_title" msgid="2254609719033946272">"ሲሞች"</string>
     <string name="sim_cellular_data_unavailable" msgid="4653591727755387534">"የተንቀሳቃሽ ስልክ ውሂብ አይገኝም"</string>
@@ -2838,7 +2837,7 @@
     <string name="select_sim_for_sms" msgid="5335510076282673497">"ለኤስኤምኤስ ሲም ይምረጡ"</string>
     <string name="data_switch_started" msgid="6292759843974720112">"የውሂብ ሲም በመቀየር ላይ፣ ይህ እስከ አንድ ደቂቃ ድረስ ሊወስድ ይችላል…"</string>
     <string name="select_specific_sim_for_data_title" msgid="5851980301321577985">"ለተንቀሳቃሽ ስልክ ውሂብ <xliff:g id="NEW_SIM">%1$s</xliff:g>ን ይጠቀሙ?"</string>
-    <string name="select_specific_sim_for_data_msg" msgid="7401698123430573637">"ወደ <xliff:g id="NEW_SIM">%1$s</xliff:g> ከቀየሩ <xliff:g id="OLD_SIM">%2$s</xliff:g> ከእንግዲህ ለተንቀሳቃሽ ስልክ ውሂብ ስራ ላይ አይውልም።"</string>
+    <string name="select_specific_sim_for_data_msg" msgid="7401698123430573637">"ወደ <xliff:g id="NEW_SIM">%1$s</xliff:g> ከቀየሩ <xliff:g id="OLD_SIM">%2$s</xliff:g> ከእንግዲህ ለተንቀሳቃሽ ስልክ ውሂብ ሥራ ላይ አይውልም።"</string>
     <string name="select_specific_sim_for_data_button" msgid="6571935548920603512">"<xliff:g id="NEW_SIM">%1$s</xliff:g>ን ይጠቀሙ"</string>
     <string name="select_sim_for_calls" msgid="7843107015635189868">"ይደውሉ ከዚህ ጋር"</string>
     <string name="sim_name_hint" msgid="8231524869124193119">"የሲም ስም ያስገቡ"</string>
@@ -2933,8 +2932,9 @@
     <string name="keywords_color_temperature" msgid="8159539138837118453">"ቀለም፣ ሙቀት፣ D65፣ D73፣ ነጭ፣ ቢጫ፣ ሰማያዊ፣ ለብ ያለ፣ ቀዝቃዛ"</string>
     <string name="keywords_lockscreen" msgid="3656926961043485797">"ለማስከፈት ያንሸራትቱ፣ የይለፍ ቃል፣ ስርዓተ-ጥለት፣ ፒን"</string>
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ማያ ገጽን መሰካት"</string>
-    <string name="keywords_profile_challenge" msgid="5135555521652143612">"የስራ ፈተና፣ ስራ፣ መገለጫ"</string>
+    <string name="keywords_profile_challenge" msgid="5135555521652143612">"የሥራ ፈተና፣ ሥራ፣ መገለጫ"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"የሥራ መገለጫ፣ የሚተዳደር መገለጫ፣ አዋህድ፣ ውህደት፣ ሥራ፣ መገለጫ"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ንቃ፣ አንቀላፋ፣ አትቆልፍ፣ በማጠፍ ላይ እንደተከፈተ ይቆይ፣ በማጠፍ ላይ፣ በመዝጋት ላይ፣ እጠፍ፣ ዝጋ፣ ማያ ገጽ ይጥፋ"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"የጣት ምልክቶች"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ይክፈሉ፣ መታ ያድርጉ፣ ክፍያዎች"</string>
@@ -3060,7 +3060,7 @@
     <string name="zen_mode_restrict_notifications_mute_footer" msgid="2152115038156049608">"ማሳወቂያዎች ሲመጡ ስልክዎ ድምፅ አያሰማም ወይም አይነዝርም።"</string>
     <string name="zen_mode_restrict_notifications_hide" msgid="5997930361607752541">"ማሳወቂያዎች ላይ ምንም ምስሎች ወይም ድምፅ የለም"</string>
     <string name="zen_mode_restrict_notifications_hide_summary" msgid="6005445725686969583">"ማሳወቂያዎችን አያዩም ወይም አይሰሙም።"</string>
-    <string name="zen_mode_restrict_notifications_hide_footer" msgid="3761837271201073330">"የእርስዎ ስልክ አዲስ ወይም ነባር ማሳወቂያዎችን አያሳይም፣ ለእነሱ አይነዝርም ወይም ድምጽ አያሰማም። ለመሣሪያ እንቅስቃሴ ወሳኝ የሆኑ ማሳወቂያዎች እና ሁኔታ አሁንም እንደሚታዩ ልብ ይበሉ።\n\nአትረብሽን ሲያጠፉት ያመለጡ ማሳወቂያዎችን ከማያ ገጽዎ አናት ወደ ታች በማንሸራተት ያግኙ።"</string>
+    <string name="zen_mode_restrict_notifications_hide_footer" msgid="3761837271201073330">"የእርስዎ ስልክ አዲስ ወይም ነባር ማሳወቂያዎችን አያሳይም፣ ለእነሱ አይነዝርም ወይም ድምፅ አያሰማም። ለመሣሪያ እንቅስቃሴ ወሳኝ የሆኑ ማሳወቂያዎች እና ሁኔታ አሁንም እንደሚታዩ ልብ ይበሉ።\n\nአትረብሽን ሲያጠፉት ያመለጡ ማሳወቂያዎችን ከማያ ገጽዎ አናት ወደ ታች በማንሸራተት ያግኙ።"</string>
     <string name="zen_mode_restrict_notifications_custom" msgid="5469078057954463796">"ብጁ"</string>
     <string name="zen_mode_restrict_notifications_enable_custom" msgid="4303255634151330401">"ብጁ ቅንብን አንቃ"</string>
     <string name="zen_mode_restrict_notifications_disable_custom" msgid="5062332754972217218">"ብጁ ቅንብን አስወግድ"</string>
@@ -3281,7 +3281,7 @@
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"አጥፋ"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"ይቅር"</string>
     <string name="notif_type_ongoing" msgid="135675014223627555">"ቅጽበታዊ"</string>
-    <string name="notif_type_ongoing_summary" msgid="2348867528527573574">"ስራ ላይ እየዋሉ ያሉ መተግበሪያዎች፣ አሰሳ፣ የስልክ ጥሪዎች እና ተጨማሪ ላይ ቀጣይ የመልዕክት ልውውጦች"</string>
+    <string name="notif_type_ongoing_summary" msgid="2348867528527573574">"ሥራ ላይ እየዋሉ ያሉ መተግበሪያዎች፣ አሰሳ፣ የስልክ ጥሪዎች እና ተጨማሪ ላይ ቀጣይ የመልዕክት ልውውጦች"</string>
     <string name="notif_type_conversation" msgid="4383931408641374979">"ውይይቶች"</string>
     <string name="notif_type_conversation_summary" msgid="179142405410217101">"ኤስኤምኤስ፣ የጽሑፍ መልዕክቶች እና ሌላ የመልዕክት ልውውጦች"</string>
     <string name="notif_type_alerting" msgid="4713073696855718576">"ማሳወቂያዎች"</string>
@@ -3309,7 +3309,7 @@
     <string name="picture_in_picture_app_detail_title" msgid="4442235098255164650">"ሥዕል-ላይ-ሥዕል"</string>
     <string name="picture_in_picture_app_detail_switch" msgid="8544190716075624017">"ሥዕል-በሥዕል-ውስጥ ፍቀድ"</string>
     <string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"ይህ መተግበሪያ ክፍት ሆኖ ሳለ ወይም ከተዉት በኋላ (ለምሳሌ፦ አንድ ቪዲዮ ለመመልከት) የስዕል-በስዕል ውስጥ መስኮት እንዲፈጥር ይፍቀዱለት። ይህ መስኮት እየተጠቀሙባቸው ባሉ ሌሎች መተግበሪያዎች ላይ ያሳያል።"</string>
-    <string name="interact_across_profiles_title" msgid="7285906999927669971">"የተገናኘ ስራ እና የግላዊነት መተግበሪያዎች"</string>
+    <string name="interact_across_profiles_title" msgid="7285906999927669971">"የተገናኘ ሥራ እና የግላዊነት መተግበሪያዎች"</string>
     <string name="interact_across_profiles_summary_allowed" msgid="1365881452153799092">"ተገናኝቷል"</string>
     <string name="interact_across_profiles_summary_not_allowed" msgid="5802674212788171790">"አልተገናኘም"</string>
     <string name="interact_across_profiles_empty_text" msgid="419061031064397168">"ምንም የተገናኙ መተግበሪያዎች የሉም"</string>
@@ -3554,8 +3554,8 @@
     <string name="permissions_usage_summary" msgid="6784310472062516454">"የትኛዎቹ መተግበሪያዎች ፈቃዶችን በቅርቡ እንደጠቀሙ አሳይ"</string>
     <string name="unused_apps" msgid="4566272194756830656">"ጥቅም ላይ ያልዋሉ መተግበሪያዎች"</string>
     <string name="unused_apps_summary" msgid="4236371818881973021">"{count,plural, =1{# ሥራ ላይ ያልዋለ መተግበሪያ}one{# ሥራ ላይ ያልዋለ መተግበሪያ}other{# ሥራ ላይ ያልዋሉ መተግበሪያዎች}}"</string>
-    <string name="unused_apps_category" msgid="8954930958175500851">"ስራ ላይ ያልዋሉ የመተግበሪያ ቅንብሮች"</string>
-    <string name="unused_apps_switch" msgid="7595419855882245772">"የመተግበሪያ እንቅስቃሴ ስራ ላይ ካልዋለ ባለበት አቁም"</string>
+    <string name="unused_apps_category" msgid="8954930958175500851">"ሥራ ላይ ያልዋሉ የመተግበሪያ ቅንብሮች"</string>
+    <string name="unused_apps_switch" msgid="7595419855882245772">"የመተግበሪያ እንቅስቃሴ ሥራ ላይ ካልዋለ ባለበት አቁም"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ፈቃዶችን አስወግድ፣ ጊዜያዊ ፋይሎችን ሰርዝ እና ማሳወቂያዎችን አቁም"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"ሁሉም መተግበሪያዎች"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"የተጫኑ መተግበሪያዎች"</string>
@@ -3722,7 +3722,7 @@
     <string name="apps_summary" msgid="4007416751775414252">"<xliff:g id="COUNT">%1$d</xliff:g> መተግበሪያዎች ተጭነዋል"</string>
     <string name="storage_summary" msgid="5903562203143572768">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> ጥቅም ላይ ውሏል - <xliff:g id="FREE_SPACE">%2$s</xliff:g> ነፃ"</string>
     <string name="display_dashboard_summary" msgid="1599453894989339454">"ጠቆር ያለ ገጽታ፣ የቅርጸ-ቁምፊ መጠን፣ ብሩህነት"</string>
-    <string name="memory_summary" msgid="8221954450951651735">"በአማካይ <xliff:g id="USED_MEMORY">%1$s</xliff:g> ከ<xliff:g id="TOTAL_MEMORY">%2$s</xliff:g> ማህደረ ትውስጥ ስራ ላይ ውሏል"</string>
+    <string name="memory_summary" msgid="8221954450951651735">"በአማካይ <xliff:g id="USED_MEMORY">%1$s</xliff:g> ከ<xliff:g id="TOTAL_MEMORY">%2$s</xliff:g> ማህደረ ትውስጥ ሥራ ላይ ውሏል"</string>
     <string name="users_summary" msgid="8473589474976307510">"እንደ <xliff:g id="USER_NAME">%1$s</xliff:g> ሆነው ገብተዋል።"</string>
     <string name="android_version_summary" msgid="7818952662015042768">"ወደ Android <xliff:g id="VERSION">%1$s</xliff:g> ተዘምኗል"</string>
     <string name="android_version_pending_update_summary" msgid="5404532347171027730">"ዝማኔ ይገኛል"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLEን ያንቁ"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE እንደ የሥርዓት OpenGL ES ነጂ ይንቃ"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLEን እንደ ነባሪ OpenGL ES ነጂ አንቃ። ተኳዃኝ ባልሆኑ መሣሪያዎች ላይ እሱን ማንቃት አንዳንድ መተግበሪያዎችን ሊሰብር ይችላል።"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"የሥርዓት OpenGL ES ነጂን ለመለወጥ ዳግም ማስነሳት ያስፈልጋል"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"የመተግበሪያ ተኳኋኝነት ለውጦች"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"የመተግበሪያ ተኳኋኝነት ለውጦችን ይቀያይሩ"</string>
@@ -4271,7 +4271,7 @@
     <string name="mobile_network_inactive_esim" msgid="8777415108263057939">"ንቁ ያልሆነ / ኢሲም"</string>
     <string name="mobile_network_sim_name" msgid="3187192894150386537">"የሲም ስም እና ቀለም"</string>
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"ስም"</string>
-    <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ቀለም (በተኳኋኝ መተግበሪያዎች ስራ ላይ የሚውል)"</string>
+    <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ቀለም (በተኳኋኝ መተግበሪያዎች ሥራ ላይ የሚውል)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"አስቀምጥ"</string>
     <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ሲም ይጠቀሙ"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ጠፍቷል"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"አይ፣ አመሰግናለሁ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ይቅር"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ማብሪያ/ማጥፊያ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"አጥፋ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ሲምን ማግበር አልተቻለም"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ሲሙን እንደገና ለማብራት ይሞክሩ። ችግሩ ከቀጠለ መሣሪያዎን ዳግም ያስነሱት።"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"አውታረ መረብን ማግበር"</string>
@@ -4345,7 +4346,7 @@
     <string name="choose_sim_activating" msgid="9035902671985449448">"በማግበር ላይ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"አሁን ማግበር አልተቻለም"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ን ይጠቀሙ?"</string>
-    <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ለተንቀሳቃሽ ስልክ ውሂብ፣ ጥሪዎች እና ኤስኤምኤስ ስራ ላይ ይውላል።"</string>
+    <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ለተንቀሳቃሽ ስልክ ውሂብ፣ ጥሪዎች እና ኤስኤምኤስ ሥራ ላይ ይውላል።"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"ምንም ገቢር ሲሞች የሉም"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"የተንቀሳቃሽ ስልክ ውሂብን፣ የስልክ ጥሪ ባህሪያትን እና ኤስኤምኤስን ለመጠቀም ወደ የእርስዎ አውታረ መረብ ቅንብሮች ይሂዱ።"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"ሲም"</string>
@@ -4520,7 +4521,7 @@
     <string name="default_active_sim_calls" msgid="2390973682556353558">"ጥሪዎች"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"ኤስኤምኤስ"</string>
     <string name="default_active_sim_mobile_data" msgid="6798083892814045301">"የተንቀሳቃሽ ስልክ ውሂብ"</string>
-    <string name="wifi_scan_notify_message" msgid="1331238142061476869">"የመሣሪያ ተምክሮን ለማሻሻል መተግበሪያዎች እና አገልግሎቶች አሁንም በማንኛውም ሰዓት፣ Wi-Fi ጠፍቶም እንኳ የWi-Fi አውታረ መረቦችን መቃኘት ይችላሉ። ይህም ለምሳሌ አካባቢ ላይ የተመሠረቱ ባህሪያትን እና አገልግሎቶችን ለማሻሻል ስራ ላይ ሊውል ይችላል። ይህን በWi‑Fi ቅኝት ቅንብሮች ውስጥ መቀየር ይችላሉ።"</string>
+    <string name="wifi_scan_notify_message" msgid="1331238142061476869">"የመሣሪያ ተምክሮን ለማሻሻል መተግበሪያዎች እና አገልግሎቶች አሁንም በማንኛውም ሰዓት፣ Wi-Fi ጠፍቶም እንኳ የWi-Fi አውታረ መረቦችን መቃኘት ይችላሉ። ይህም ለምሳሌ አካባቢ ላይ የተመሠረቱ ባህሪያትን እና አገልግሎቶችን ለማሻሻል ሥራ ላይ ሊውል ይችላል። ይህን በWi‑Fi ቅኝት ቅንብሮች ውስጥ መቀየር ይችላሉ።"</string>
     <string name="wifi_scan_change" msgid="8438320311511852918">"ቀይር"</string>
     <string name="preference_summary_default_combination" msgid="4643585915107796253">"<xliff:g id="STATE">%1$s</xliff:g> / <xliff:g id="NETWORKMODE">%2$s</xliff:g>"</string>
     <string name="mobile_data_connection_active" msgid="2422223108911581552">"ተገናኝቷል"</string>
@@ -4660,7 +4661,7 @@
     <string name="dream_home_controls_toggle_summary" msgid="4102519907917430579">"ከማያ ገፅ ማቆያው የቤት ውስጥ ቁጥጥሮች አዝራርን አሳይ"</string>
     <string name="dream_more_settings_category" msgid="3119192146760773748">"ተጨማሪ ቅንብሮች"</string>
     <string name="dream_setup_title" msgid="2458303874255396142">"የእርስዎን የማያ ገፅ ማቆያ ይምረጡ"</string>
-    <string name="dream_setup_description" msgid="7508547154038580296">"ጡባዊዎ ሲተከል በማያ ገፅዎ ላይ የሚያዩትን ይምረጡ። የማያ ገፅ ማቆያ ስራ ላይ ሲውል መሣሪያዎ የበለጠ ኃይል ሊጠቀም ይችላል።"</string>
+    <string name="dream_setup_description" msgid="7508547154038580296">"ጡባዊዎ ሲተከል በማያ ገፅዎ ላይ የሚያዩትን ይምረጡ። የማያ ገፅ ማቆያ ሥራ ላይ ሲውል መሣሪያዎ የበለጠ ኃይል ሊጠቀም ይችላል።"</string>
     <string name="customize_button_title" msgid="1110284655990203359">"አብጅ"</string>
     <string name="customize_button_description" msgid="7440248477266126231">"<xliff:g id="SCREENSAVER_NAME">%1$s</xliff:g> አብጅ"</string>
     <string name="reboot_dialog_enable_freeform_support" msgid="6412591361284929149">"የነጻ ቅርጽ ድጋፍን ለማንቃት ዳግም ማስነሳት ያስፈልጋል።"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"መተግበሪያን አራግፍ"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{ባለፈው # ወር ውስጥ የተጫኑ መተግበሪያዎች}one{ባለፈው # ወር ውስጥ የተጫኑ መተግበሪያዎች}other{ባለፉት # ወራት ውስጥ የተጫኑ መተግበሪያዎች}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{ከ# ወር በላይ በፊት የተጫኑ መተግበሪያዎች}one{ከ# ወር በላይ በፊት የተጫኑ መተግበሪያዎች}other{ከ# ወራት በላይ በፊት የተጫኑ መተግበሪያዎች}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"በአስተያየት የተጠቆሙ መተግበሪያዎች"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"የሻሯቸው መተግበሪያዎች"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"የመተግበሪያ ነባሪ"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"የጣት አሻራ ዳሳሽ"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"የብልጭታ ማሳወቂያዎች"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ስለብልጭታ ማሳወቂያዎች"</string>
@@ -4711,7 +4730,7 @@
     <string name="flash_notifications_summary_on_screen" msgid="9040640799633336219">"በርቷል / የማያ ገፅ ብልጭታ"</string>
     <string name="flash_notifications_summary_on_camera_and_screen" msgid="2326268141063768701">"በርቷል / የካሜራ እና የማያ ገፅ ብልጭታ"</string>
     <string name="flash_notifications_intro" msgid="8409873413480928249">"ማሳወቂያዎች ሲደርሱዎት ወይም ማንቂያዎች ሲጮሁ የካሜራውን ብርሃን ወይም ማያ ገጹን ብልጭ ያደርጋል"</string>
-    <string name="flash_notifications_intro_without_camera_flash" msgid="6297337174487793891">"ማሳወቂያዎች ሲደርስዎ ወይም ማንቂያዎች ድምጽ ሲያወጡ ማያገጹን ብልጭ ያድርጉ"</string>
+    <string name="flash_notifications_intro_without_camera_flash" msgid="6297337174487793891">"ማሳወቂያዎች ሲደርስዎ ወይም ማንቂያዎች ድምፅ ሲያወጡ ማያገጹን ብልጭ ያድርጉ"</string>
     <string name="flash_notifications_note" msgid="2426125248448055075">"ለብርሃን በቀላሉ ተጠቂ ከሆኑ የብልጭታ ማሳወቂያዎችን በጥንቃቄ ይጠቀሙ"</string>
     <string name="flash_notifications_keywords" msgid="2458759275318514836">"ብልጭታ፣ ብርሃን፣ የመስማት ችግር፣ የመስማት ችሎታን ማጣት"</string>
     <string name="flash_notifications_preview" msgid="5320176885050440874">"ቅድመ ዕይታ"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"በርቷል"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ጠፍቷል"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"በርቷል"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"የመሣሪያዎ ስም በጫኗቸው መተግበሪያዎች ላይ ይታያል። እንዲሁም ከብሉቱዝ መሣሪያዎች ጋር ሲገናኙ፣ ከWi-Fi አውታረ መረብ ሲገናኙ ወይም የWi-Fi መገናኛ ነጥብን ሲያዋቅሩ በሌሎች ሰዎች ሊታይ ይችላል።"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"ሰዋሰዋዊ ጾታ"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ሰዋሰዋዊ ጾታ ይምረጡ"</string>
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 0750a40..09233c6 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -194,9 +194,9 @@
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"تعرَّف على مزيد من المعلومات عن الإعدادات المفضّلة للّغة."</string>
     <string name="category_title_terms_of_address" msgid="4309422700380895278">"الإعدادات المفضَّلة الإضافية"</string>
     <string name="terms_of_address_title" msgid="4064593634733842458">"صيغة المخاطبة"</string>
-    <string name="terms_of_address_summary" msgid="6136134336560679144">"يمكنك ضبط صيغة المخاطبة التي تفضّلها من حيث التأنيث أو التذكير أو المحايدة."</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"يمكنك ضبط صيغة المخاطبة التي تفضّلها."</string>
     <string name="terms_of_address_intro_title" msgid="6149691509414243483">"يمكن للتطبيقات استخدام هذه الميزة لتخصيص صيغة المخاطبة الخاصة بك"</string>
-    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"صيغة مخاطبة محايدة"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"عدم تحديد صيغة مخاطبة"</string>
     <string name="terms_of_address_feminine" msgid="1743479869695539283">"صيغة مخاطبة مؤنثة"</string>
     <string name="terms_of_address_masculine" msgid="983106046135098856">"صيغة مخاطبة مذكّرة"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{هل تريد إزالة اللغة المحددة؟}zero{هل تريد إزالة اللغات المحددة؟}two{هل تريد إزالة اللغتَين المحددتَين؟}few{هل تريد إزالة اللغات المحددة؟}many{هل تريد إزالة اللغات المحددة؟}other{هل تريد إزالة اللغات المحددة؟}}"</string>
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"تمت إضافة وجه و\"<xliff:g id="WATCH">%s</xliff:g>\"."</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"تمت إضافة وجه وبصمة إصبع و\"<xliff:g id="WATCH">%s</xliff:g>\"."</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"تمت إضافة وجه وبصمات أصابع و\"<xliff:g id="WATCH">%s</xliff:g>\"."</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"فتح الجهاز بالتعرف على الوجه وببصمة الإصبع"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"فتح الجهاز بالتعرّف على الوجه وبصمة الإصبع"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"فتح الجهاز ببصمة الإصبع وبالتعرف على الوجه للملف الشخصي للعمل"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"يجب ضبط الإعدادات"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"تمت إضافة وجه وبصمات أصابع."</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"رقم التعريف الشخصي • الوجه"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"كلمة المرور • الوجه"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"المتابعة بدون إعداد ميزة \"فتح الجهاز بالتعرف على الوجه\""</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"النقش • الوجه • بصمة الإصبع"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"رقم التعريف الشخصي • الوجه • بصمة الإصبع"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"كلمة المرور • الوجه • بصمة الإصبع"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"المتابعة بدون إعداد وجه أو بصمة إصبع"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"المتابعة بدون استخدام الوجه أو بصمة الإصبع"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"بدون قفل"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"التمرير السريع"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"نقش"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"غير مفعّل"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"موازنة اللون الأبيض للشاشة"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"إبقاء الشاشة مفتوحة عند طيّها"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"يمكن إبقاء الشاشة الأمامية مفتوحة عند طيّها إلى أن تنتهي مهلة غلق الشاشة."</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"العرض السلس"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"تعمل هذه الميزة على رفع معدل التحديث تلقائيًا من 60 إلى <xliff:g id="ID_1">%1$s</xliff:g> هرتز لبعض أنواع المحتوى. يؤدي هذا إلى زيادة استخدام البطارية."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"فرض معدل إعادة التحميل الأقصى"</string>
@@ -2724,7 +2723,7 @@
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"ستُحذف الآن التطبيقات والبيانات من جلسة الضيف هذه. بالإضافة إلى ذلك، ستُحذف جميع أنشطة الضيف المستقبلية في كل مرّة تخرج فيها من وضع الضيف."</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"حذف، ضيف، نشاط، إزالة، بيانات، زائر، محو بيانات"</string>
     <string name="enable_guest_calling" msgid="4620657197834392094">"السماح للضيف بإجراء مكالمات هاتفية"</string>
-    <string name="enable_guest_calling_summary" msgid="4748224917641204782">"ستتم مشاركة سجلّ المكالمات مع المستخدِم الضيف."</string>
+    <string name="enable_guest_calling_summary" msgid="4748224917641204782">"مشاركة سجلّ المكالمات مع المستخدِم الضيف"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"تفعيل المكالمات الهاتفية والرسائل القصيرة"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"منح هذا المستخدم امتيازات المشرف"</string>
     <string name="user_remove_user" msgid="8468203789739693845">"حذف حساب المستخدم"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"تثبيت الشاشة"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"المنافسة في العمل، عمل، ملف شخصي"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"الملف الشخصي للعمل، ملف شخصي مُدار، يوحِّد، توحيد، عمل، ملف شخصي"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"الوضع النشط، وضع السكون، عدم القفل، إبقاء الجهاز مفتوحًا عند طيّه، طي الجهاز، إطفاء الجهاز، قفل الشاشة"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"الإيماءات"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"محفظة"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"دفع، نقر، دفعات"</string>
@@ -3498,7 +3498,7 @@
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"طلب إدخال كلمة المرور قبل إزالة التثبيت"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"إقفال الجهاز عند إزالة التثبيت"</string>
     <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"‏تأكيد حذف بيانات شريحة SIM"</string>
-    <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"‏يجب إثبات هويتك قبل محو بيانات شريحة eSIM."</string>
+    <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"‏يجب إثبات هويتك قبل محو بيانات شريحة eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"الحماية المتقدمة للذاكرة (تجريبية)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"الحماية المتقدمة للذاكرة"</string>
     <string name="memtag_intro" msgid="579408691329568953">"تساعدك هذه الميزة التجريبية على حماية جهازك من الأخطاء التي قد تُعرّض أمانك للخطر."</string>
@@ -4039,7 +4039,7 @@
     <string name="blocked_by_restricted_settings_title" msgid="7334715011474037399">"الإعداد محظور"</string>
     <string name="toast_allows_restricted_settings_successfully" msgid="1219116121291466102">"الإعدادات المحظورة مسموح بها للتطبيق <xliff:g id="APP_NAME">%s</xliff:g>."</string>
     <string name="blocked_by_restricted_settings_content" msgid="3628660029601161080">"بهدف الحفاظ على أمانك، هذا الإعداد غير متاح الآن."</string>
-    <string name="financed_privacy_settings" msgid="2575114436197204145">"معلومات الجهاز الممول"</string>
+    <string name="financed_privacy_settings" msgid="2575114436197204145">"معلومات الجهاز المموَّل"</string>
     <string name="financed_privacy_intro" msgid="7836497475568741579">"يمكن لشركة بيع الأجهزة بالائتمان تغيير الإعدادات وتثبيت برامج على هذا الجهاز أثناء مرحلة الإعداد.\n\nإذا لم تسدّد إحدى الدفعات، يمكن لشركة بيع الأجهزة بالائتمان قفل جهازك وتغيير إعداداته.\n\nللحصول على مزيد من المعلومات، يُرجى التواصل مع شركة بيع الأجهزة بالائتمان."</string>
     <string name="financed_privacy_restrictions_category" msgid="2472659467919651602">"إذا كان جهازك ممولاً، لا يمكنك تنفيذ ما يلي:"</string>
     <string name="financed_privacy_install_apps" msgid="7381718005710210851">"‏تثبيت تطبيقات من خارج \"متجر Play\""</string>
@@ -4059,7 +4059,7 @@
     <string name="financed_privacy_fully_paid_category" msgid="9221763928564246923">"بعد دفع ثمن الجهاز بالكامل:"</string>
     <string name="financed_privacy_restrictions_removed" msgid="3182636815294595072">"تتم إزالة كل القيود من الجهاز."</string>
     <string name="financed_privacy_uninstall_creditor_app" msgid="6339004120497310705">"يمكنك إلغاء تثبيت تطبيق شركة بيع الأجهزة بالائتمان."</string>
-    <string name="financed_device_info" msgid="3871860346697308342">"معلومات الجهاز الممول"</string>
+    <string name="financed_device_info" msgid="3871860346697308342">"معلومات الجهاز المموَّل"</string>
     <string name="default_camera_app_title" msgid="6546248868519965998">"{count,plural, =1{تطبيق الكاميرا}zero{تطبيقات الكاميرا}two{تطبيقا الكاميرا}few{تطبيقات الكاميرا}many{تطبيقات الكاميرا}other{تطبيقات الكاميرا}}"</string>
     <string name="default_calendar_app_title" msgid="1870095225089706093">"تطبيق التقويم"</string>
     <string name="default_contacts_app_title" msgid="7740028900741944569">"تطبيق جهات الاتصال"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"‏تفعيل محرِّك ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"‏تفعيل محرّك ANGLE كبرنامج تشغيل OpenGL ES الخاص بالنظام"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"‏يمكنك تفعيل محرّك ANGLE على أنّه برنامج التشغيل التلقائي OpenGL ES. ويُرجى العِلم بأنّ تفعيله على الأجهزة غير المتوافقة قد يؤدي إلى إيقاف بعض التطبيقات."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"‏يجب إعادة التشغيل لتغيير برنامج تشغيل OpenGL ES الخاص بالنظام."</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"التغييرات في توافق التطبيقات"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"التبديل بين تغييرات توافق التطبيقات"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"لا، شكرًا"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"إلغاء"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"تبديل"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"إيقاف"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"‏يتعذّر تفعيل شريحة SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"‏حاوِل تفعيل شريحة SIM مرة أخرى. إذا استمرت المشكلة، عليك إعادة تشغيل الجهاز."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"تفعيل الشبكة"</string>
@@ -4707,6 +4708,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"إلغاء تثبيت التطبيق"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{التطبيقات التي تم تثبيتها خلال آخر شهر}zero{التطبيقات التي تم تثبيتها خلال آخر # شهر}two{التطبيقات التي تم تثبيتها خلال آخر شهرَين}few{التطبيقات التي تم تثبيتها خلال آخر # شهور}many{التطبيقات التي تم تثبيتها خلال آخر # شهرًا}other{التطبيقات التي تم تثبيتها خلال آخر # شهر}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{التطبيقات التي تم تثبيتها قبل أكثر من شهر واحد}zero{التطبيقات التي تم تثبيتها قبل أكثر من # شهر}two{التطبيقات التي تم تثبيتها قبل أكثر من شهرَين}few{التطبيقات التي تم تثبيتها قبل أكثر من # شهور}many{التطبيقات التي تم تثبيتها قبل أكثر من # شهرًا}other{التطبيقات التي تم تثبيتها قبل أكثر من # شهر}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"التطبيقات المقترَحة"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"التطبيقات التي تم فيها إلغاء نسبة العرض إلى الارتفاع"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"نسبة العرض إلى الارتفاع التلقائية في التطبيق"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"أداة استشعار بصمة الإصبع"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"الإشعارات المصحوبة بوميض"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"لمحة عن الإشعارات المصحوبة بوميض"</string>
@@ -4757,4 +4776,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"الخيار مفعَّل"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"الميزة غير مفعَّلة"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"الميزة مفعَّلة"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‏يظهر اسم جهازك للتطبيقات التي تم تثبيتها. وقد يظهر أيضًا للمستخدمين الآخرين عند الاتصال بأجهزة تتضمّن بلوتوث أو بشبكة Wi-Fi أو عند إعداد نقطة اتصال Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"صيغة المخاطبة المناسبة نحويًا"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"اختيار صيغة مخاطبة مناسبة نحويًا"</string>
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index d0d0711..19fb5e6 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"মুখাৱয়ব আৰু <xliff:g id="WATCH">%s</xliff:g> যোগ দিয়া হৈছে"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"মুখাৱয়ব, ফিংগাৰপ্ৰিণ্ট আৰু <xliff:g id="WATCH">%s</xliff:g> যোগ দিয়া হৈছে"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"মুখাৱয়ব, ফিংগাৰপ্ৰিণ্ট আৰু <xliff:g id="WATCH">%s</xliff:g> যোগ দিয়া হৈছে"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ফেচ আৰু ফিংগাৰপ্ৰিন্ট আনলক"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ফিংগাৰপ্ৰিণ্ট আৰু মুখাৱয়বৰ দ্বাৰা আনলক কৰাৰ সুবিধা"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"কাৰ্যৰ বাবে ফেচ আৰু ফিংগাৰপ্ৰিন্ট আনলক"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ছেটআপৰ আৱশ্যক"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"মুখাৱয়ব আৰু ফিংগাৰপ্ৰিণ্ট যোগ দিয়া হ’ল"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"পিন • মুখাবয়ব"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"পাছৱৰ্ড   মুখাবয়ব"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ফেচ আনলকৰ অবিহনে অব্যাহত ৰাখক"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"আৰ্হি • মুখাৱয়ব • ফিংগাৰপ্ৰিণ্ট"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"পিন • মুখাৱয়ব • ফিংগাৰপ্ৰিণ্ট"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"পাছৱৰ্ড • মুখাৱয়ব • ফিংগাৰপ্ৰিণ্ট"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ফেচ অথবা ফিংগাৰপ্ৰিণ্টৰ অবিহনে অব্যাহত ৰাখক"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ফিংগাৰপ্ৰিণ্ট অথবা মুখাৱয়বৰ অবিহনে অব্যাহত ৰাখক"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"নাই"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ছোৱাইপ কৰক"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"আৰ্হি"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"অফ হৈ আছে"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"শুভ্ৰতাৰ সমতা দেখুৱাওক"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ফ’নটো জপাই থৈ আনলক কৰি ৰাখক"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"স্ক্ৰীনৰ সময় উকলি নোযোৱালৈকে ফ’নটো জপাই থোৱা অৱস্থাত ফ্ৰণ্ট ডিছপ্লে’ আনলক কৰি ৰাখক"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"মসৃণ ডিছপ্লে’"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"কিছুমান সমলৰ বাবে ৰিফ্ৰেশ্বৰ হাৰ স্বয়ংক্ৰিয়ভাৱে ৬০ৰ পৰা <xliff:g id="ID_1">%1$s</xliff:g> হাৰ্টজলৈ বঢ়ায়। বেটাৰীৰ ব্যৱহাৰ বৃদ্ধি কৰে।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"সৰ্বাধিক ৰিফ্ৰেশ্বৰ হাৰ বলপূৰ্বকভাৱে প্ৰয়োগ কৰক"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"স্ক্ৰীন পিন কৰা"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"কৰ্মস্থানৰ প্ৰত্যাহ্বান, কৰ্মস্থান, প্ৰ’ফাইল"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"কৰ্মস্থানৰ প্ৰ\'ফাইল, পৰিচালিত প্ৰ\'ফাইল, একত্ৰ, একত্ৰীকৰণ, কৰ্ম, প্ৰ\'ফাইল"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"জাগ্ৰত, সুপ্ত, লক নকৰিব, জপাই থৈ আনলক কৰি ৰাখক, কপাই থোৱা, বন্ধ কৰা, জপাওক, বন্ধ কৰক, স্ক্ৰীন অফ"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"নিৰ্দেশসমূহ"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"ৱালেট"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"পৰিশোধ, টিপক, ধন পৰিশোধ"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE সক্ষম কৰক"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ছিষ্টেমৰ OpenGL ES ড্ৰাইভাৰ হিচাপে ANGLE সক্ষম কৰক"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ডিফ’ল্ট OpenGL ES ড্ৰাইভাৰ হিচাপে ANGLE সক্ষম কৰক ইয়াক অমিল ডিভাইচত সক্ষম কৰাটোৱে কিছুমান এপ্লিকেশ্বন নষ্ট কৰিব পাৰে।"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"ছিষ্টেমৰ OpenGL ES ড্ৰাইভাৰ সলনি কৰিবলৈ ৰিবুট কৰাৰ আৱশ্যক"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"এপৰ সুসমতা সম্পৰ্কীয় সালসলনিসমূহ"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"এপৰ সুসংগতাৰ সালসলনিসমূহ ট’গল কৰক"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"নালাগে, ধন্যবাদ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"বাতিল কৰক"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"সলনি কৰক"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"অফ কৰক"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ছিমখন সক্ৰিয় কৰিব নোৱাৰি"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ছিমখন পুনৰ অন কৰিবলৈ চেষ্টা কৰক। সমস্যাটো অব্যাহত থাকিলে আপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰক।"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"নেটৱৰ্ক সক্ৰিয়কৰণ"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"এপ্‌ আনইনষ্টল কৰক"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{যোৱা # মাহত ইনষ্টল কৰা এপ্‌}one{যোৱা # মাহত ইনষ্টল কৰা এপ্‌}other{যোৱা # মাহত ইনষ্টল কৰা এপ্‌}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# মাহতকৈ আগত ইনষ্টল কৰা এপ্‌}one{# মাহতকৈ আগত ইনষ্টল কৰা এপ্‌}other{# মাহতকৈ আগত ইনষ্টল কৰা এপ্‌}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"আকাৰৰ অনুপাত"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"এই এপ্‌টো চাবলৈ এটা আকাৰৰ অনুপাত বাছনি কৰক যদি এইটো আপোনাৰ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ৰ সৈতে মিলাকৈ ডিজাইন কৰা হোৱা নাই"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"পৰামৰ্শিত এপ্‌সমূহ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"আপুনি অভাৰৰাইড কৰা এপ্‌সমূহ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"এপৰ ডিফ’ল্ট"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"সম্পূৰ্ণ স্ক্ৰীন"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"অৰ্ধ-স্ক্ৰীন"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"ডিভাইচৰ আকাৰৰ অনুপাত"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"১৬:৯"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"৩:২"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"৪:৩"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"আপুনি আকাৰৰ অনুপাত সলনি কৰিলে এপ্‌টো পুনৰ আৰম্ভ হ’ব। আপুনি ছেভ নকৰা সালসলনিসমূহ হেৰুৱাব পাৰে।"</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"ফিংগাৰপ্ৰিণ্ট ছেন্সৰ"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ফ্লেশ্ব জাননী"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ফ্লেশ্ব জাননীৰ বিষয়ে"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"অন আছে"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"অফ আছে"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"অন আছে"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"আপোনাৰ ডিভাইচৰ নাম আপুনি ইনষ্টল কৰা এপত দেখা পোৱা যায়। আপুনি ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ কৰিলে, ৱাই-ফাই নেটৱৰ্কৰ সৈতে সংযোগ কৰিলে অথবা ৱাই-ফাই হটস্পট ছেট আপ কৰিলে এইটো অন্য লোকেও দেখা পাব পাৰে।"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"ব্যাকৰণ বিষয়ক লিংগ"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ব্যাকৰণ বিষয়ক লিংগ বাছনি কৰক"</string>
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index e541965..bd614ed 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Üz və <xliff:g id="WATCH">%s</xliff:g> əlavə edilib"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Üz, barmaq izi və <xliff:g id="WATCH">%s</xliff:g> əlavə edilib"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Üz, barmaq izləri və <xliff:g id="WATCH">%s</xliff:g> əlavə edilib"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Üz və barmaq izi ilə kiliddən çıxarma"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Barmaq İzi və Üz ilə Kiliddən Açma"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"İş üçün Üz və Barmaq izi ilə kiliddən çıxarma"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Ayarlamaq lazımdır"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Üz və barmaq izləri əlavə edildi"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Üz"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Parol • Üz"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Üz ilə kiliddən çıxarma olmadan davam edin"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Model • Üz • Barmaq izi"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Üz • Barmaq izi"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Parol • Üz • Barmaq izi"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Üz və ya barmaq izi olmadan davam edin"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Barmaq izi və ya üz olmadan davam edin"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Heç biri"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Sürüşdürmə"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Qrafik açar"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Deaktiv"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Ağlıq balansını göstərin"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Qatlananda kilid açıq qalsın"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Ekran avtomatik sönənə qədər qatlananda ön ekran kilidini açıq saxlayın"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Rahat Displey"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Bəzi kontent üçün 60-<xliff:g id="ID_1">%1$s</xliff:g> Hs yeniləmə dərəcəsini avtomatik artırır. Batareya istifadəsini artırır."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Pik yeniləmə dərəcəsini məcburi tətbiq edin"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ekran bərkidilməsi"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"iş məşqi, iş, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"iş profili, idarə olunan profil, birləşdirin, birləşmə, iş, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"oyaq, yuxu, kilidləməyin, qatlananda kilid açıq qalsın, qatlanır, bağlanır, qatlayın, bağlayın, ekran sönülüdür"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"jestlər"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"pulqabı"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ödəyin, tıklayın, ödəmələr"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE-ni aktivləşdirin"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE-ni sistemin OpenGL ES drayveri kimi aktivləşdirin"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE-ı defolt OpenGL ES drayveri kimi aktivləşdirin. Uyğunsuz cihazlarda aktivləşdirmə bəzi tətbiqləri korlaya bilər."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Sistemin OpenGL ES drayverini dəyişmək üçün yenidən başlatma tələb edilir"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Tətbiq uyğunluğu dəyişiklikləri"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Tətbiq uyğunluğu ayarlarına dəyişiklik göstərilsin"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Xeyr, təşəkkür"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Ləğv edin"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Keçin"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Deaktiv edin"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-i aktiv etmək mümkün deyil"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM-i yenidən aktiv etməyə çalışın. Problem həll olmasa, cihazı yenidən başladın."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Şəbəkənin aktiv edilməsi"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Tətbiqi sistemdən silin"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Son # ay ərzində quraşdırılmış tətbiqlər}other{Son # ay ərzində quraşdırılmış tətbiqlər}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Minimum # ay əvvəl quraşdırılmış tətbiqlər}other{Minimum # ay əvvəl quraşdırılmış tətbiqlər}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Təklif edilən tətbiqlər"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Əvəzlədiyiniz tətbiqlər"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Tətbiq defoltu"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Barmaq izi sensoru"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"İşıqlı bildirişlər"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"İşıqlı bildirişlər haqqında"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aktiv"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Deaktiv"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aktiv"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Cihaz adı quraşdırdığınız tətbiqlərə görünür. Bluetooth cihazlarına, Wi-Fi şəbəkəsinə qoşulduqda və ya Wi-Fi hotspotu ayarladıqda digər şəxslər də onu görə bilər."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Cins (qrammatika)"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Cins (qrammatika) seçin"</string>
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index c5016fe..8e0b9db 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodati su lice i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodati su lice, otisak prsta i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodati su lice, otisci prstiju i <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Otključavanje licem i otiskom prsta"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Otisak prsta i otključavanje licem"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Otključavanje licem i otiskom prsta za posao"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Treba da podesite"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Lice i otisci prsta su dodati"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Lice"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Lozinka • Lice"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Nastavite bez otključavanja licem"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Šablon • Lice • Otisak prsta"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Lice • Otisak prsta"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Lozinka • Lice • Otisak prsta"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Nastavite bez lica ili otiska prsta"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Nastavi bez otiska prsta ili lica"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ništa"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Prevucite"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Šablon"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Isključeno"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balans bele ekrana"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Ne zaključavaj pri preklapanju"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Ne zaključava ekran pri preklapanju do gašenja ekrana"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Tečan prikaz"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatski podiže učestalost osvežavanja sa 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Nametni maksimalnu učestalost osvežavanja"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"kačenje ekrana"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"work izazov, work, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"poslovni profil, profil kojim se upravlja, objedini, objedinjavanje, Work, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"buđenje, spavanje, ne zaključavaj, ne zaključavaj pri preklopu, preklapanje, zatvaranje, preklopi, zatvori, ekran je isključen"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"pokreti"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"novčanik"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"platite, dodirnite, plaćanja"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Omogući ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Omogućava ANGLE kao OpenGL ES upravljački program"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Omogućava ANGLE kao podrazumevani OpenGL ES upravljački program. Ako ovo omogućite na nekompatibilnim uređajima, možda ćete oštetiti neke aplikacije."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Morate da restartujete da biste promenili OpenGL ES upravljački program sistema"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Promene kompatibilnosti aplikacije"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Uključite/isključite promene kompatibilnosti aplikacije"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, hvala"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Otkaži"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Pređi"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Isključi"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Aktiviranje SIM kartice nije uspelo"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Probajte ponovo da uključite SIM karticu. Ako se problem i dalje javlja, restartujte uređaj."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivacija mreže"</string>
@@ -4704,6 +4705,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Deinstaliraj aplikaciju"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplikacije instalirane u poslednjih mesec dana}one{Aplikacije instalirane u poslednjih # meseci}few{Aplikacije instalirane u poslednja # meseca}other{Aplikacije instalirane u poslednjih # meseci}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplikacije koje su instalirane pre više od # meseca}one{Aplikacije koje su instalirane pre više od # meseca}few{Aplikacije koje su instalirane pre više od # meseca}other{Aplikacije koje su instalirane pre više od # meseci}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Razmera"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Odaberite razmeru da biste pregledali sadržaj ove aplikacije ako nije dizajnirana da staje na uređaj <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Predložene aplikacije"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplikacije koje ste zamenili"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Podrazumevana za aplikacije"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Ceo ekran"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Na pola ekrana"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Razmera uređaja"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"Aplikacija će se restartovati kada promenite razmeru. Možda ćete izgubiti nesačuvane promene."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Senzor za otisak prsta"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Treperuća obaveštenja"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"O treperućim obaveštenjima"</string>
@@ -4754,4 +4767,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Uključeno"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Isključeno"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Uključeno"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Aplikacije koje ste instalirali mogu da vide naziv uređaja. I drugi ljudi mogu da vide naziv uređaja kada se povežete sa Bluetooth uređajima ili WiFi mrežom ili podesite WiFi hotspot."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatički rod"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Izaberite gramatički rod"</string>
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index 6d0ed00..660fca4 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Твар і гадзіннік \"<xliff:g id="WATCH">%s</xliff:g>\" дададзены"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Твар, адбітак пальца і гадзіннік \"<xliff:g id="WATCH">%s</xliff:g>\" дададзены"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Твар, адбіткі пальцаў і гадзіннік \"<xliff:g id="WATCH">%s</xliff:g>\" дададзены"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Распазнаванне твару і разблакіроўка адбіткам пальца"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Разблакіроўка тварам і адбіткам пальца"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Разблакіроўка тварам і адбіткам пальца для працоўнага профілю"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Патрабуецца наладжванне"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Дададзены твар і адбіткі пальцаў"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN-код • Распазнаванне твару"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Пароль • Распазнаванне твару"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Працягнуць без распазнавання твару"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Узор разблакіроўкі • Твар • Адбітак пальца"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN-код • Твар • Адбітак пальца"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Пароль • Твар • Адбітак пальца"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Працягнуць без функцыі распазнавання твару ці адбітка пальца"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Працягнуць без распазнавання твару або адбітка пальца"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Няма"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Правядзенне пальцам"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Узор"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Выключана"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Паказваць баланс белага"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Не блакіраваць у складзеным стане"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Не блакіраваць пярэдні дысплэй у складзеным стане да заканчэння часу да выключэння экрана"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плаўны паказ"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Аўтаматычна павялічвае частату абнаўлення пэўнага змесціва з 60 да <xliff:g id="ID_1">%1$s</xliff:g> Гц. Павышае выкарыстанне зараду акумулятара."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Прымусовая пікавая частата абнаўлення"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"замацаванне экрана"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"працоўная задача, праца, профіль"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"працоўны профіль, профіль пад кіраваннем, уніфікаваць, уніфікацыя, праца, профіль"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"абуджэнне, сон, не блакіраваць, разблакіраваны ў раскладзеным стане, складанне, закрыццё, скласці, закрыць, зачыніць, зачыненне, выключэнне экрана"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"жэсты"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"кашалёк"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"плаціць, дакранацца, плацяжы"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Уключыць ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Уключыць ANGLE як сістэмны драйвер OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Уключыць ANGLE як стандартны драйвер OpenGL ES. Уключэнне яго на несумяшчальных прыладах можа прывесці да парушэння працы праграм."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Каб змяніць сістэмны драйвер OpenGL ES, патрабуецца перазагрузка"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Змяненні ў сумяшчальнасці праграм"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Пераключыць на змяненні ў сумяшчальнасці праграм"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Не, дзякуй"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Скасаваць"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Пераключыцца"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Выключыць"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Не ўдалося актываваць SIM-карту"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Паспрабуйце зноў уключыць SIM-карту. Калі праблема застанецца, перазапусціце прыладу."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Актывацыя сеткі"</string>
@@ -4705,6 +4706,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Выдаліць праграму"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Праграмы, усталяваныя за апошні # месяц}one{Праграмы, усталяваныя за апошні # месяц}few{Праграмы, усталяваныя за апошнія # месяцы}many{Праграмы, усталяваныя за апошнія # месяцаў}other{Праграмы, усталяваныя за апошнія # месяца}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Праграмы, усталяваныя больш як # месяц назад}one{Праграмы, усталяваныя больш як # месяц назад}few{Праграмы, усталяваныя больш як # месяцы назад}many{Праграмы, усталяваныя больш як # месяцаў назад}other{Праграмы, усталяваныя больш як # месяца назад}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Прапанаваныя праграмы"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Праграмы з перавызначаным вамі значэннем"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Стандартнае значэнне для праграмы"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Сканер адбіткаў пальцаў"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Флэш-апавяшчэнні"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Пра флэш-апавяшчэнні"</string>
@@ -4755,4 +4774,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Уключана"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Выключана"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Уключана"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Назва прылады даступная для ўсталяваных вамі праграм. Яе таксама могуць пабачыць іншыя людзі, калі вы падключыцеся да прылад з Bluetooth або да сеткі Wi-Fi ці наладзіце хот-спот Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматычны род"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Выберыце граматычны род"</string>
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 93eb643..2cc261b 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Лицето и <xliff:g id="WATCH">%s</xliff:g> бяха добавени"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Лицето, отпечатъкът и <xliff:g id="WATCH">%s</xliff:g> бяха добавени"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Лицето, отпечатъците и <xliff:g id="WATCH">%s</xliff:g> бяха добавени"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Отключване с лице и отпечатък"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отключване с лице и отпечатък"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Отключване с лице и отпечатък за служебни цели"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Необходимо е настройване"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Добавени са лице и отпечатъци"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"ПИН • Лице"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Парола • Лице"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Продължаване без отключване с лице"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Фигура • Лице • Отпечатък"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"ПИН • Лице • Отпечатък"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Парола • Лице • Отпечатък"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Продължаване без лице и отпечатък"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Продължаване без отпечатък или лице"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Няма"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"С бързо плъзгане"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Фигура"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Изключено"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс на бялото на дисплея"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Без заключване при сгъване"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Когато сгънете устройството, предният екран остава отключен до изтичане на времето за изчакване"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плавно показване"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Автоматично увеличава честотата на опресняване от 60 на <xliff:g id="ID_1">%1$s</xliff:g> Hz за част от съдържанието. По-интензивно използване на батерията."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Принудителна най-висока честота на опресняване"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"фиксиране на екрана"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"служебно предизвикателство, работа, потребителски профил"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"служебен потребителски профил, управляван потребителски профил, обединение, обединяване, работа, потребителски профил"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"събуждане, спящ режим, без заключване, отключено при сгъване, сгъване, затваряне, изключен екран"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"жестове"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"портфейл"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"плащане, докосване, плащания"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Активиране на ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Активиране на ANGLE като системен OpenGL ES драйвер"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Активиране на ANGLE като стандартен OpenGL ES драйвер. Това може да възпрепятства работата на някои приложения на несъвместими устройства."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"За промяна на системния OpenGL ES драйвер се изисква рестартиране"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Промени в съвместимостта на приложенията"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Включване/изключване на промените в съвместимостта на приложенията"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Не, благодаря"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Отказ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Превключване"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Изключване"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM картата не може да се активира"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Включете отново SIM картата. Ако проблемът не се отстрани, рестартирайте устройството си."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активиране на мрежа"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Деинсталиране на приложението"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Приложения, инсталирани през последния # месец}other{Приложения, инсталирани през последните # месеца}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Приложения, инсталирани преди повече от # месец}other{Приложения, инсталирани преди повече от # месеца}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Предложени приложения"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Приложения, които сте заменили"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Стандартно за приложението"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Сензор за отпечатъци"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Известия с премигване"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Всичко за известията с премигване"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Вкл."</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Изкл."</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Вкл."</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Името на устройството ви е видимо за инсталираните от вас приложения. То може да се вижда и от други хора, когато се свържете с устройства с Bluetooth или с Wi-Fi мрежа или настроите точка за достъп до Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматически род"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Изберете граматически род"</string>
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index e7b3722..0da6cd0 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ফেস ও <xliff:g id="WATCH">%s</xliff:g> যোগ করা হয়েছে"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ফেস, ফিঙ্গারপ্রিন্ট এবং <xliff:g id="WATCH">%s</xliff:g> যোগ করা হয়েছে"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ফেস, ফিঙ্গারপ্রিন্ট এবং <xliff:g id="WATCH">%s</xliff:g> যোগ করা হয়েছে"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ফেস ও ফিঙ্গারপ্রিন্ট আনলক"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ফিঙ্গারপ্রিন্ট &amp; ফেস আনলক"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"কাজের জন্য ফেস ও \'ফিঙ্গারপ্রিন্ট আনলক\' ফিচার"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"সেট-আপ করতে হবে"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ফেস এবং আঙ্গুলের ছাপ যোগ করা হয়েছে"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"পিন • ফেস"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"পাসওয়ার্ড • ফেস"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"\'ফেস আনলক\' ছাড়াই চালিয়ে যান"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"প্যাটার্ন • মুখ • ফিঙ্গারপ্রিন্ট"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"পিন • মুখ • ফিঙ্গারপ্রিন্ট"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"পাসওয়ার্ড • মুখ • ফিঙ্গারপ্রিন্ট"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"মুখ এবং আঙুলের ছাপ ছাড়া চালিয়ে যান"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ফিঙ্গারপ্রিন্ট বা ফেস আনলক সেট-আপ ছাড়াই চালিয়ে যান"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"কোনও কিছুই নয়"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"সোয়াইপ করুন"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"প্যাটার্ন"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"বন্ধ আছে"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"হোয়াইট ব্যালান্স ডিসপ্লে"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ফোল্ড করা হলে আনলক করে রাখুন"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"স্ক্রিনের সময় শেষ না হওয়া পর্যন্ত ফোল্ড করা হলে সামনের ডিসপ্লে আনলক করে রাখুন"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"স্মুথ ডিসপ্লে"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"কিছু কন্টেন্টের রিফ্রেশ রেট অটোমেটিক 60 থেকে <xliff:g id="ID_1">%1$s</xliff:g> Hz পর্যন্ত বেড়ে যায়। ব্যাটারির খরচও বেড়ে যায়।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"সবচেয়ে বেশি রিফ্রেশ রেটে সেট করা হয়েছে"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"স্ক্রিন পিন করা"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"কর্মস্থলের প্রতিদ্বন্দ্বিতা, কর্মস্থল, প্রোফাইল"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"কর্মস্থলের প্রোফাইল, পরিচালিত প্রোফাইল, ঐক্যবদ্ধ, একীকরণ, কাজ, প্রোফাইল"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"জেগে থাকা, ঘুমানো, লক করবেন না, ফোল্ড অবস্থায় আনলক রাখুন, ফোল্ড করা, বন্ধ করা, ফোল্ড, বন্ধ, বন্ধ থাকা স্ক্রিন"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ইঙ্গিত"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"অর্থপ্রদান, আলতো চাপা, পেমেন্ট"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE চালু করুন"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"সিস্টেম OpenGL ES ড্রাইভার হিসেবে ANGLE চালু করুন"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ডিফল্ট OpenGL ES ড্রাইভার হিসেবে ANGLE চালু করুন। মানানসই নয় এমন ডিভাইসে এটি চালু করা হলে কিছু অ্যাপ্লিকেশন কাজ নাও করতে পারে।"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"সিস্টেম OpenGL ES ড্রাইভার পরিবর্তন করার জন্য, রিবুট করতে হবে"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ডিভাইসে অ্যাপ মানানসই করা সম্পর্কিত পরিবর্তন"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"অ্যাপ মানানসই করা সম্পর্কিত পরিবর্তন টগল করুন"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"না থাক"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"বাতিল করুন"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"পাল্টান"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"বন্ধ করুন"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"সিম চালু করা যাচ্ছে না"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"সিমটি আবার চালু করার চেষ্টা করুন। এতেও সমস্যা ঠিক না হলে, ডিভাইস রিস্টার্ট করুন।"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"নেটওয়ার্ক চালু করা"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"অ্যাপ আনইনস্টল করুন"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{শেষ # মাসের মধ্যে ইনস্টল করা অ্যাপ}one{শেষ # মাসের মধ্যে ইনস্টল করা অ্যাপ}other{শেষ # মাসের মধ্যে ইনস্টল করা অ্যাপ}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# মাসেরও বেশি সময় আগে অ্যাপ ইনস্টল করা হয়েছে}one{# মাসেরও বেশি সময় আগে অ্যাপ ইনস্টল করা হয়েছে}other{# মাসেরও বেশি সময় আগে অ্যাপ ইনস্টল করা হয়েছে}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"সাজেস্ট করা অ্যাপ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"আপনার ওভাররাইড করা অ্যাপ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"অ্যাপ ডিফল্ট"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"১৬:৯"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"৩:২"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"৪:৩"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"ফিঙ্গারপ্রিন্ট সেন্সর"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ফ্ল্যাশ নোটিফিকেশন"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ফ্ল্যাশ বিজ্ঞপ্তি সম্পর্কে"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"চালু আছে"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"বন্ধ আছে"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"চালু আছে"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"আপনার ইনস্টল করা অ্যাপে আপনার ডিভাইসের নাম দেখা যাচ্ছে। আপনি ব্লুটুথ ডিভাইস বা কোনও ওয়াই-ফাই নেটওয়ার্কে কানেক্ট অথবা ওয়াই-ফাই হটস্পট সেট-আপ করলে অন্য লোকজনও এটি দেখতে পেতে পারেন।"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"ব্যাকরণগতভাবে লিঙ্গ পরিচয়"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ব্যাকরণগতভাবে লিঙ্গ পরিচয় বেছে নিন"</string>
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 06e309b..ead9d03 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodani su lice i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodani su lice, otisak prsta i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodani su lice, otisci prstiju i <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Otključavanje licem i otiskom prsta"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Otisak prsta i otključavanje licem"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Otključavanje licem i otiskom prsta za posao"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Potrebno je postavljanje"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Lice i otisci prstiju su dodani"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Lice"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Lozinka • Lice"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Nastavite s otključavanjem licem"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Uzorak • Lice • Otisak prsta"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Lice • Otisak prsta"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Lozinka • Lice • Otisak prsta"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Nastavite bez otključavanja licem ili otiskom prsta"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Nastavite bez otiska prsta ili prepoznavanja lica"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ništa"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Prevlačenje prstom"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Uzorak"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Isključeno"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balans bijele boje prikaza"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Ostavi otključan po sklapanju"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Zadržavanje prednjeg ekrana otključanog kada je uređaj sklopljen do isteka vremena ekrana"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Glatki prikaz"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatski povećava učestalost osvježavanja sa 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Nametni maksimalnu brzinu osvježavanja"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"kačenje ekrana"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"poslovni izazov, rad, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"radni profil, upravljani profil, ujediniti, ujedinjenje, rad, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"aktivno, u stanju mirovanja, nemoj zaključavati, ostavi otključano prilikom sklapanja, sklapanje, zatvaranje, sklopi, zatvori, ekran je isključen"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"pokreti"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"novčanik"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"plati, dodir, plaćanja"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Omogući ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Omogućite ANGLE kao sistemski drajver OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Omogući ANGLE kao zadani drajver OpenGL ES. Njegovo omogućavanje na nekompatibilnim uređajima može zaustaviti rad određenih aplikacija."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Ponovno pokretanje je potrebno za promjenu sistemskog drajvera OpenGL ES"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Izmjene kompatibilnosti aplikacije"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Uključivanje/isključivanje izmjena kompatibilnosti aplikacije"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, hvala"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Otkaži"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Prebaci"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Isključi"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nije moguće aktivirati SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Pokušajte ponovo uključiti SIM. Ako se problem ne riješi, ponovo pokrenite uređaj."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktiviranje mreže"</string>
@@ -4704,6 +4705,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Deinstaliraj aplikaciju"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplikacije instalirane u proteklom mjesecu}one{Aplikacije instalirane u proteklom # mjesecu}few{Aplikacije instalirane u protekla # mjeseca}other{Aplikacije instalirane u proteklih # mjeseci}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplikacije instalirane prije # mjesec}one{Aplikacije instalirane prije # mjesec}few{Aplikacije instalirane prije # mjeseca}other{Aplikacije instalirane prije # mjeseci}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Predložene aplikacije"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplikacije koje ste zaobišli"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Zadano za aplikaciju"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Senzor za otisak prsta"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Obavještenja blicanjem"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Informacije o obavještenjima blicanjem"</string>
@@ -4754,4 +4773,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Uključeno"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Isključeno"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Uključeno"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Naziv uređaja je vidljiv aplikacijama koje ste instalirali. Također će ga moći vidjeti druge osobe prilikom povezivanja s Bluetooth uređajima i WiFi mrežom ili postavljanja WiFi pristupne tačke."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatički rod"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Odaberite gramatički rod"</string>
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 8431136..483650f 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Cara i <xliff:g id="WATCH">%s</xliff:g> afegits"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Cara, empremta digital i <xliff:g id="WATCH">%s</xliff:g> afegits"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Empremtes digitals, cara i <xliff:g id="WATCH">%s</xliff:g> afegits"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueig facial i amb empremta digital"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueig facial i amb empremta digital"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueig facial i amb empremta digital per a la feina"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Cal fer la configuració"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Cara i empremtes digitals afegides"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Cara"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Contrasenya • Cara"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continua sense Desbloqueig facial"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Patró • Cara • Empremta digital"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Cara • Empremta digital"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Contrasenya • Cara • Empremta digital"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continua sense cara ni empremta digital"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continua sense empremta digital ni cara"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Cap"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Llisca"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patró"</string>
@@ -924,7 +921,7 @@
     <string name="wifi_hotspot_speed_6g" msgid="3787697484862730500">"6 GHz"</string>
     <string name="wifi_hotspot_speed_6g_summary" msgid="8675262219242174548">"Velocitats màximes. Compatible amb pocs dispositius."</string>
     <string name="wifi_hotspot_speed_summary_unavailable" msgid="7276080644693388756">"No està disponible al teu país o regió"</string>
-    <string name="wifi_hotspot_speed_footer" msgid="8846939503916795002">"Si la teva freqüència preferida no està disponible, pot ser que el punt d\'accés Wi‑Fi en faci servir una altra. La configuració de seguretat del punt d\'accés Wi‑Fi pot canviar si canvies la freqüència."</string>
+    <string name="wifi_hotspot_speed_footer" msgid="8846939503916795002">"Si la teva freqüència preferida no està disponible, pot ser que el punt d\'accés Wi‑Fi en faci servir una altra. La configuració de seguretat del punt d\'accés Wi‑Fi pot canviar si modifiques la freqüència."</string>
     <string name="wifi_hotspot_security_summary_unavailable" msgid="117582979310345853">"No està disponible amb 6 GHz"</string>
     <string name="wifi_hotspot_security_footer" msgid="4608329688744949796">"La configuració de seguretat pot canviar si modifiques la freqüència del punt d\'accés Wi‑Fi"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"S\'està activant el punt d\'accés Wi-Fi…"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desactivat"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Mostra el balanç de blancs"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Desbloquejada en plegar-se"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Mantén la pantalla frontal desbloquejada en plegar-se fins que s\'esgoti el temps d\'espera de la pantalla"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Augmenta automàticament la freqüència d\'actualització de 60 a <xliff:g id="ID_1">%1$s</xliff:g> Hz en alguns continguts. Augmenta l\'ús de la bateria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Força la freqüència d\'actualització màxima"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"fixació de pantalla"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"desafiament per accedir a contingut de feina, feina, perfil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"perfil de treball, perfil gestionat, unificar, unificació, feina, perfil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"activa, repòs, no bloquegis, desbloquejada en plegar-se, plegable, tancant, plega, tanca, pantalla desactivada"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestos"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"paga, toca, pagaments"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Activa ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Activa ANGLE com a controlador OpenGL ES del sistema"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Activa ANGLE com a controlador OpenGL ES predeterminat. Activar-lo en dispositius incompatibles pot fer que les aplicacions deixin de funcionar."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Cal reiniciar per canviar el controlador OpenGL ES del sistema"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Canvis en la compatibilitat de les aplicacions"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Commuta els canvis en la compatibilitat de les aplicacions"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, gràcies"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel·la"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Canvia"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desactiva"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"No s\'ha pogut activar la SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prova de tornar a activar la SIM. Si el problema continua, reinicia el dispositiu."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activació de la xarxa"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Desinstal·la l\'aplicació"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplicacions instal·lades en el # darrer mes}other{Aplicacions instal·lades en els # darrers mesos}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplicacions instal·lades fa més d’# mes}other{Aplicacions instal·lades fa més de # mesos}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Aplicacions suggerides"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplicacions que has anul·lat"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Configuració predeterminada de l\'aplicació"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensor d\'empremtes digitals"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notificacions amb flaix"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Sobre les notificacions amb flaix"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activat"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desactivat"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activat"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"El nom del dispositiu és visible per a les aplicacions que has instal·lat. També el poden veure altres persones si el connectes a un dispositiu Bluetooth o a una xarxa Wi‑Fi, o si configures un punt d\'accés Wi‑Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gènere gramatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecciona el gènere gramatical"</string>
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index dcae768..f57cae2 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Obličej a hodinky <xliff:g id="WATCH">%s</xliff:g> byly přidány"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Obličej, otisk prstu a hodinky <xliff:g id="WATCH">%s</xliff:g> byly přidány"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Obličej, otisky prstů a hodinky <xliff:g id="WATCH">%s</xliff:g> byly přidány"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Odemknutí obličejem a otiskem prstu"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odemknutí pomocí otisku prstu nebo obličeje"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Odemknutí obličejem a otiskem prstu pro práci"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Nutné nastavení"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Byl přidán obličej a otisky prstů"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Obličej"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Heslo • Obličej"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Pokračovat bez odemknutí obličejem"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Gesto • obličej • otisk prstu"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • obličej • otisk prstu"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Heslo • obličej • otisk prstu"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Pokračovat bez obličeje nebo otisku prstu"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Pokračovat bez otisku prstu nebo obličeje"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Bez zabezpečení"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Přejetí prstem"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Gesto"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Vypnuto"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Vyvážení bílé na obrazovce"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Odemknutí při složení"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Nechat při složení přední displej odemknutý, dokud se obrazovka sama nevypne"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Plynulé zobrazení"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"U některého obsahu automaticky zvýší obnovovací frekvenci z 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz. Zvyšuje využití baterie."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Vynutit nejvyšší obnovovací frekvenci"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"připnutí obrazovky"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"pracovní výzva, práce, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"pracovní profil, spravovaný profil, sjednotit, sjednocení, práce, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"zapnutá obrazovka, režim spánku, nezamykat, odemknutí při složení, rozkládání, zavření, vypnutá obrazovka"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gesta"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"peněženka"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"platit, klepnout, platby"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Povolit ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Povolit ANGLE jako systémový ovladač OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Povolit ANGLE jako výchozí ovladač OpenGL ES. POkud ho povolíte na nekompatibilním zařízení, některé aplikace mohou přestat fungovat."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Změna systémového ovladače OpenGL ES vyžaduje restart"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Změny kompatibility aplikací"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Přepínat změny kompatibility aplikací"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, díky"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Zrušit"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Přepnout"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Vypnout"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM kartu nelze aktivovat"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Zkuste SIM kartu znovu zapnout. Pokud problém přetrvává, restartujte zařízení."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivace sítě"</string>
@@ -4705,6 +4706,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Odinstalovat aplikaci"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplikace nainstalované během posledního # měsíce}few{Aplikace nainstalované během posledních # měsíců}many{Aplikace nainstalované během posledního # měsíce}other{Aplikace nainstalované během posledních # měsíců}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplikace nainstalované před více než # měsícem}few{Aplikace nainstalované před více než # měsíci}many{Aplikace nainstalované před více než # měsíce}other{Aplikace nainstalované před více než # měsíci}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Navrhované aplikace"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplikace, které jste přepsali"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Výchozí možnost aplikace"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16 : 9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4 : 3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Snímač otisků prstů"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Světelná oznámení"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Informace o světelných oznámeních"</string>
@@ -4755,4 +4774,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Zapnuto"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Vypnuto"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Zapnuto"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Název vašeho zařízení je viditelný pro nainstalované aplikace. Mohou ho vidět také ostatní uživatelé, když se připojíte k zařízení Bluetooth nebo síti Wi-Fi, případně když vytvoříte hotspot Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Mluvnický rod"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Vyberte mluvnický rod"</string>
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 4abc72a..525ca16 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -122,7 +122,7 @@
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ved tryk på knappen til styluspennen"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (arbejdsprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skriv i tekstfelter"</string>
-    <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorer alle trykker på knapper med styluspen"</string>
+    <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorer alle tryk på styluspen-knappen"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Styluspen"</string>
     <string name="date_and_time" msgid="1788358029823431692">"Dato og klokkeslæt"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ansigt og <xliff:g id="WATCH">%s</xliff:g> er tilføjet"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ansigt, fingeraftryk og <xliff:g id="WATCH">%s</xliff:g> er tilføjet"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ansigt, fingeraftryk og <xliff:g id="WATCH">%s</xliff:g> er tilføjet"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ansigtslås og oplåsning med fingeraftryk"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingeraftryk og ansigtslås"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ansigtslås og oplåsning med fingeraftryk til arbejdsprofil"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfiguration er påkrævet"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ansigt og fingeraftryk er tilføjet"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"Pinkode • Ansigt"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Adgangskode • Ansigt"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Fortsæt uden ansigtslås"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Mønster • Ansigt • Fingeraftryk"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"Pinkode • Ansigt • Fingeraftryk"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Adgangskode • Ansigt • Fingeraftryk"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Fortsæt uden ansigtslås eller fingeraftryk"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Fortsæt uden fingeraftryk eller ansigtsgenkendelse"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ingen"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Stryg"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mønster"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Fra"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Skærmens hvidbalance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Forbliv oplåst, når den er foldet"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Lad skærmen på forsiden forblive oplåst, når enheden er foldet, indtil timeout for skærmen"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Øger automatisk opdateringshastigheden fra 60 til <xliff:g id="ID_1">%1$s</xliff:g> Hz for noget indhold. Medfører højere batteriforbrug."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Gennemtving højeste opdateringshastighed"</string>
@@ -1951,7 +1950,7 @@
     <string name="accessibility_control_timeout_preference_title" msgid="1443940538597464758">"Handlingstid"</string>
     <string name="accessibility_control_timeout_preference_summary" msgid="4037051091059316310">"Denne tidsbaserede præference understøttes ikke af alle apps"</string>
     <string name="accessibility_control_timeout_preference_intro_text" msgid="1398116710556762245">"Vælg, hvor længe der skal vises midlertidige meddelelser, som beder dig om at foretage en handling"</string>
-    <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Forsinkelse for hold finger på"</string>
+    <string name="accessibility_long_press_timeout_preference_title" msgid="5237764682976688855">"Forsinkelse for Tryk og hold"</string>
     <string name="accessibility_display_inversion_preference_title" msgid="5476133104746207952">"Ombytning af farver"</string>
     <string name="accessibility_display_inversion_switch_title" msgid="7458595722552743503">"Brug ombytning af farver"</string>
     <string name="accessibility_display_inversion_shortcut_title" msgid="6889624526691513462">"Genvej til ombytning af farver"</string>
@@ -2060,8 +2059,8 @@
     <string name="daltonizer_mode_protanomaly_title" msgid="6392456967103014723">"Rød-grøn"</string>
     <string name="daltonizer_mode_tritanomaly_title" msgid="2278786218762602022">"Blå-gul"</string>
     <string name="daltonizer_mode_grayscale_title" msgid="152005391387952588">"Gråtoner"</string>
-    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Grøn svag, deuteranomali"</string>
-    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Rød svag, protanomali"</string>
+    <string name="daltonizer_mode_deuteranomaly_summary" msgid="2117727423019598455">"Farvesvaghed for grøn, deuteranomali"</string>
+    <string name="daltonizer_mode_protanomaly_summary" msgid="4617032854982040748">"Farvesvaghed for rød, protanomali"</string>
     <string name="daltonizer_mode_tritanomaly_summary" msgid="2428218320118180070">"Tritanomali"</string>
     <string name="reduce_bright_colors_preference_title" msgid="2249314004651574997">"Ekstra dæmpet belysning"</string>
     <string name="reduce_bright_colors_switch_title" msgid="1751678397884065312">"Ekstra dæmpet belysning af skærm"</string>
@@ -2732,7 +2731,7 @@
     <string name="user_enable_calling_and_sms_confirm_message" msgid="367792286597449922">"Opkalds- og sms-historikken vil blive delt med denne bruger."</string>
     <string name="user_revoke_admin_confirm_title" msgid="3057842401861731863">"Vil du fjerne administratorrettighederne?"</string>
     <string name="user_revoke_admin_confirm_message" msgid="9207187319308572958">"Hvis du fjerner administratorrettigheder for denne bruger, kan du eller en anden administrator tildele dem igen senere."</string>
-    <string name="emergency_info_title" msgid="8233682750953695582">"Info til nødsituationer"</string>
+    <string name="emergency_info_title" msgid="8233682750953695582">"Nødoplysninger"</string>
     <string name="emergency_info_summary" msgid="8463622253016757697">"Oplysninger og kontakter for <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
     <string name="open_app_button" msgid="5025229765547191710">"Åbn <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="application_restrictions" msgid="276179173572729205">"Tillad apps og indhold"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"skærmfastholdelse"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"arbejdsudfordring, arbejde, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"arbejdsprofil, administreret profil, samle, samling, arbejde, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"aktiv, dvale, lås ikke, forbliv oplåst i foldet tilstand, foldet, folde, lukke, fold, luk, deaktiver skærm"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"bevægelser"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betal, tryk, betalinger"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Aktivér ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Aktivér ANGLE som OpenGL ES-systemdriver"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Aktivér ANGLE som OpenGL ES-standarddriver. Hvis du aktiverer den på inkompatible enheder, fungerer visse apps muligvis ikke."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Du skal genstarte for at ændre OpenGL ES-systemdriveren"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Ændringer i appkompatibilitet"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Skift appens kompatibilitetsændringer"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nej tak"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annuller"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Skift"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Deaktiver"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-kortet kunne ikke aktiveres"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prøv at aktivere SIM-kortet igen. Genstart enheden, hvis problemet fortsætter."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Netværksaktivering"</string>
@@ -4436,7 +4437,7 @@
     <string name="system_default_app_subtext" msgid="5212055189703164839">"Systemstandard"</string>
     <string name="default_app_none" msgid="5420632042222036264">"Ingen"</string>
     <string name="select_invalid_bug_report_handler_toast_text" msgid="8857326334015386692">"Dette valg er ikke længere gyldigt. Prøv igen."</string>
-    <string name="power_menu_setting_name" msgid="2394440932633137229">"Hold afbryderU+00ADknappen nede"</string>
+    <string name="power_menu_setting_name" msgid="2394440932633137229">"Hold afbryder­knappen nede"</string>
     <string name="power_menu_long_press_category_title" msgid="1051146091093775002">"Hold afbryderknappen nede for at tilgå"</string>
     <string name="power_menu_long_press_for_power_menu_title" msgid="477584639843663599">"Menu for afbryderknappen"</string>
     <string name="power_menu_long_press_for_assistant_title" msgid="6557738348262616455">"Digital assistent"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Afinstaller app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps installeret i den seneste måned}one{Apps installeret i de seneste}other{Apps installeret i de seneste # måneder}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps, som er installeret for mere end # måned siden}one{Apps, som er installeret for mere end # måned siden}other{Apps, som er installeret for mere end # måneder siden}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Foreslåede apps"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps, du har tilsidesat"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Standardindstilling for appen"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Fingeraftrykssensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Lysnotifikationer"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Om lysnotifikationer"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Til"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Fra"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Til"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Din enheds navn er synligt for apps, du har installeret. Det kan muligvis også ses af andre, når du opretter forbindelse til Bluetooth-enheder eller et Wi-Fi-netværk, eller når du konfigurerer et Wi-Fi-hotspot."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatisk køn"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Vælg grammatisk køn"</string>
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index bc1f647..5d7f8d8 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -192,20 +192,13 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Samstag"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Wenn eine App keine regionalen Einstellungen unterstützt, werden für sie stattdessen ihre Standard-Spracheinstellungen verwendet."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Weitere Informationen zu Spracheinstellungen."</string>
-    <!-- no translation found for category_title_terms_of_address (4309422700380895278) -->
-    <skip />
-    <!-- no translation found for terms_of_address_title (4064593634733842458) -->
-    <skip />
-    <!-- no translation found for terms_of_address_summary (6136134336560679144) -->
-    <skip />
-    <!-- no translation found for terms_of_address_intro_title (6149691509414243483) -->
-    <skip />
-    <!-- no translation found for terms_of_address_not_specified (4439257779351251973) -->
-    <skip />
-    <!-- no translation found for terms_of_address_feminine (1743479869695539283) -->
-    <skip />
-    <!-- no translation found for terms_of_address_masculine (983106046135098856) -->
-    <skip />
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Zusätzliche Einstellungen"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Anrede"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Anrede prüfen"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Du kannst die Anrede festlegen, um zu personalisieren, wie Apps dich ansprechen."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nicht angegeben"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Weiblich"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Männlich"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Ausgewählte Sprache entfernen?}other{Ausgewählte Sprachen entfernen?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Text wird in einer anderen Sprache angezeigt."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Du kannst nicht alle Sprachen entfernen"</string>
@@ -395,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gesicht und <xliff:g id="WATCH">%s</xliff:g> hinzugefügt"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gesicht, Fingerabdruck und <xliff:g id="WATCH">%s</xliff:g> hinzugefügt"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gesicht, Fingerabdrücke und <xliff:g id="WATCH">%s</xliff:g> hinzugefügt"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Entsperrung per Gesichtserkennung &amp; Fingerabdruck"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Entsperrung per Gesichtserkennung &amp; Fingerabdruck"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Gesichts- und Fingerabdruckentsperrung für die Arbeit"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Einrichtung erforderlich"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Gesicht und Fingerabdrücke hinzugefügt"</string>
@@ -552,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Gesichtsentsperrung"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Passwort • Gesichtsentsperrung"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Ohne Entsperrung per Gesichtserkennung fortfahren"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Muster • Gesicht • Fingerabdruck"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Gesicht • Fingerabdruck"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Passwort • Gesicht • Fingerabdruck"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Ohne Gesicht oder Fingerabdruck fortfahren"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Ohne Fingerabdruck oder Gesichtserkennung fortfahren"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Keine"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Wischen"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Muster"</string>
@@ -1009,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Aus"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Weißabgleich des Bildschirms"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Beim Falten entsperrt bleiben"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Frontdisplay beim Zusammenklappen entsperrt lassen, bis sich das Display nach Ablauf des Zeitlimits automatisch ausschaltet"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Setzt die Aktualisierungsrate für einige Inhalte automatisch von 60 auf <xliff:g id="ID_1">%1$s</xliff:g> Hz herauf. Erhöht den Akkuverbrauch."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Maximale Aktualisierungsrate erzwingen"</string>
@@ -1479,18 +1471,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Muster auch zum Entsperren verwenden"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"PIN auch zum Entsperren verwenden"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Passwort auch zum Entsperren verwenden"</string>
-    <!-- no translation found for lockpassword_confirm_repair_mode_pattern_header (6669435143987988314) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pin_header (2585263648322879131) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_password_header (3064676176428495228) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pattern_details (6187536224419477465) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pin_details (203022189107305807) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_password_details (4860219600771003873) -->
-    <skip />
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Muster bestätigen"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"PIN bestätigen"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Passwort bestätigen"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Gib zum Fortfahren das Muster für dein Gerät ein"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Gib zum Fortfahren die PIN für dein Gerät ein"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Gib zum Fortfahren das Passwort für dein Gerät ein"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Falsche PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Falsches Passwort"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Falsches Muster"</string>
@@ -1929,10 +1915,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Weitere Informationen zur Schaltfläche „Bedienungshilfen“ und zu Gesten"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Schaltfläche „Bedienungshilfen“ wird verwendet. Bei Bedienung über 3 Schaltflächen ist die Touch-Geste nicht verfügbar."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Schnell auf Bedienungshilfen zugreifen"</string>
-    <!-- no translation found for accessibility_button_gesture_description (1141723096904904336) -->
-    <skip />
-    <!-- no translation found for accessibility_button_description (7669538706120092399) -->
-    <skip />
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;So gehts&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Geh zu den Einstellungen für Bedienungshilfen&lt;br/&gt; {1,number,integer}. Wähle eine Bedienungshilfe aus und tippe auf den Kurzbefehl&lt;br/&gt; {2,number,integer}. Wähle aus, ob du eine Taste oder eine Touch-Geste für den Zugriff auf die Bedienungshilfe verwenden möchtest&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;So gehts&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Geh zu den Einstellungen für Bedienungshilfen&lt;br/&gt; {1,number,integer}. Wähle eine Bedienungshilfe aus und tippe auf den Kurzbefehl&lt;br/&gt; {2,number,integer}. Wähle die Taste aus, die du für den Zugriff auf die Bedienungshilfe verwenden möchtest&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Schaltfläche oder Touch-Geste verwenden"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Ort"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Größe"</string>
@@ -2749,7 +2733,7 @@
     <string name="user_revoke_admin_confirm_message" msgid="9207187319308572958">"Wenn du die Administratorberechtigungen für diesen Nutzer entfernst, können sie von dir oder einem anderen Administrator später wiederhergestellt werden."</string>
     <string name="emergency_info_title" msgid="8233682750953695582">"Notfallinformationen"</string>
     <string name="emergency_info_summary" msgid="8463622253016757697">"Informationen und Kontaktdaten für <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
-    <string name="open_app_button" msgid="5025229765547191710">"<xliff:g id="APP_NAME">%1$s</xliff:g> öffnen"</string>
+    <string name="open_app_button" msgid="5025229765547191710">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ öffnen"</string>
     <string name="application_restrictions" msgid="276179173572729205">"Apps und Inhalte zulassen"</string>
     <string name="apps_with_restrictions_header" msgid="5277698582872267931">"Apps mit Einschränkungen"</string>
     <string name="apps_with_restrictions_settings_button" msgid="2648355133416902221">"App-Einstellungen erweitern"</string>
@@ -2950,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"Bildschirmfixierung"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"herausforderung bei der arbeit, arbeit, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"arbeitsprofil, verwaltetes profil, gruppieren, gruppierung, arbeit, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"aktiv, ruhemodus, nicht sperren, beim Falten entsperrt bleiben, falten, schließen, zusammenklappen, zuklappen, Display aus"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gesten, bewegungen, touch-gesten"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Geldbörse"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"Bezahlen, kontaktlos, Zahlungen"</string>
@@ -3505,10 +3490,8 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Aus"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Bildschirmfixierung"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Mit der Option „Bildschirmfixierung“ kannst du festlegen, dass auf deinem Gerät vorübergehend nur eine App ausgeführt und angezeigt wird. Auf diese Weise kannst du z. B. jemanden ein bestimmtes Spiel auf deinem Gerät spielen lassen."</string>
-    <!-- no translation found for screen_pinning_description (5822120806426139396) -->
-    <skip />
-    <!-- no translation found for screen_pinning_guest_user_description (2307270321127139579) -->
-    <skip />
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Die App, die während der Bildschirmfixierung angezeigt wird, kann unter Umständen andere Apps öffnen, wodurch private Daten zugänglich gemacht werden können. \n\nSo verwendest du die Funktion „Bildschirmfixierung“: 	\n{0,number,integer}. Aktiviere die Funktion „Bildschirmfixierung“ 	\n{1,number,integer}. Tippe auf „Übersicht“ 	\n{2,number,integer}. Tippe auf das App-Symbol oben auf dem Bildschirm und dann auf „Fixieren“"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Die App, die während der Bildschirmfixierung angezeigt wird, kann unter Umständen andere Apps öffnen, wodurch private Daten zugänglich gemacht werden können. \n\nWenn du dein Gerät sicher mit jemandem teilen möchtest, kannst du stattdessen ein Gastprofil verwenden. \n\nSo verwendest du die Funktion „Bildschirmfixierung“: 	\n{0,number,integer}. Aktiviere die Funktion „Bildschirmfixierung“ 	\n{1,number,integer}. Tippe auf „Übersicht“ 	\n{2,number,integer}. Tippe auf das App-Symbol oben auf dem Bildschirm und dann auf „Fixieren“"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Wenn eine App auf dem Bildschirm fixiert ist, gilt Folgendes: \n\n•	 Personenbezogene Daten könnten dennoch\nzugänglich sein (z. B. Kontakte oder E-Mails) \n• Eine fixierte App kann andere Apps öffnen \n\nVerwende die Funktion „Bildschirmfixierung“ nur dann, wenn du deinem Gegenüber vertraust."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Zum Loslösen nach Entsperrungsmuster fragen"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Vor Beenden nach PIN fragen"</string>
@@ -4173,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE aktivieren"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE als OpenGL ES-Systemtreiber aktivieren"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE als OpenGL ES-Standardtreiber aktivieren Wenn du diese Option auf nicht kompatiblen Geräten aktivierst, funktionieren manche Apps möglicherweise nicht."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Ein Neustart ist erforderlich, um den OpenGL ES-Systemtreiber zu ändern"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Änderungen der Kompatibilität von Apps"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Änderungen bei der Kompatibilität von Apps festlegen"</string>
@@ -4346,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nein danke"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Abbrechen"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Wechseln"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Deaktivieren"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM kann nicht aktiviert werden"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Versuche, die SIM noch einmal zu aktivieren. Sollte das Problem weiterhin bestehen, starte das Gerät neu."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Netzwerkaktivierung"</string>
@@ -4720,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"App deinstallieren"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps, die innerhalb des letzten Monats installiert wurden}other{Apps, die innerhalb der letzten # Monate installiert wurden}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps, die vor mehr als # Monat installiert wurden}other{Apps, die vor mehr als # Monaten installiert wurden}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Vorgeschlagene Apps"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps mit Überschreibung"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"App-Standard"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Fingerabdrucksensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Aufleuchten bei Benachrichtigungen"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Infos zum Aufleuchten bei Benachrichtigungen"</string>
@@ -4770,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"An"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Aus"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"An"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Dein Gerätename ist für Apps, die du installiert hast, sichtbar. Wenn du dein Gerät mit Bluetooth-Geräten oder einem WLAN verbindest oder einen WLAN-Hotspot einrichtest, kann der Name möglicherweise auch von anderen Personen gesehen werden."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Genus"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Genus auswählen"</string>
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index 9dd7f2a..5ebef79 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Προστέθηκε το πρόσωπο και το <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Προστέθηκαν πρόσωπο, δακτυλικό αποτύπωμα και το <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Προστέθηκαν πρόσωπο, δακτυλικά αποτυπώματα και το <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ξεκλείδωμα με πρόσωπο/δακτυλ. αποτύπωμα"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Ξεκλείδωμα με δακτυλικό αποτύπωμα και με το πρόσωπο"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ξεκλείδωμα με πρόσωπο και δακτυλικό αποτύπωμα για την εργασία"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Απαιτείται ρύθμιση"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Προστέθηκε πρόσωπο και δακτυλικά αποτυπώματα"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Πρόσωπο"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Κωδικός πρόσβασης • Πρόσωπο"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Συνέχεια χωρίς Ξεκλείδωμα με το πρόσωπο"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Μοτίβο • Πρόσωπο • Δακτ. αποτύπωμα"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Πρόσωπο • Δακτυλικό αποτύπωμα"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Κωδικός πρόσβασης • Πρόσωπο • Δακτ. αποτύπωμα"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Συνεχίστε χωρίς πρόσωπο ή δακτυλικό αποτύπωμα"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Συνέχεια χωρίς δακτυλικό αποτύπωμα ή πρόσωπο"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Κανένα"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Ολίσθηση"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Μοτίβο"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Ανενεργή"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Εμφάνιση ισορροπίας λευκού"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Ξεκλειδωμένη σε αναδίπλωση"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Να παραμένει ξεκλειδωμένη η μπροστινή οθόνη όταν η συσκευή είναι διπλωμένη μέχρι να λήξει το χρονικό όριο οθόνης"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Αυξάνει αυτόματα τον ρυθμό ανανέωσης από τα 60 στα <xliff:g id="ID_1">%1$s</xliff:g> Hz για ορισμένο περιεχόμενο. Αυξάνει τη χρήση μπαταρίας."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Επιβολή μέγιστου ρυθμού ανανέωσης"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"καρφίτσωμα οθόνης"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"πρόκληση εργασίας, εργασία, προφίλ"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"προφίλ εργασίας, διαχειριζόμενο προφίλ, ενοποιώ, ενοποίηση, εργασία, προφίλ"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"κανονική κατάσταση λειτουργίας, αδράνεια, να μην κλειδωθεί, να παραμένει ξεκλειδωμένο κατά την αναδίπλωση, αναδίπλωση, κλείσιμο, διπλωμένο, κλειστό, σβηστή οθόνη"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"κινήσεις"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"πορτοφόλι"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"πληρωμή, πάτημα, πληρωμές"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Ενεργοποίηση ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Ενεργοποίηση ANGLE ως πρόγραμμα οδήγησης OpenGL ES του συστήματος"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Ενεργοποιήστε το ANGLE ως το προεπιλεγμένο πρόγραμμα οδήγησης OpenGL ES. Αν το ενεργοποιήσετε σε μη συμβατές συσκευές, ενδέχεται να διακοπεί η λειτουργία ορισμένων εφαρμογών."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Για την αλλαγή του προγράμματος οδήγησης OpenGL ES του συστήματος απαιτείται επανεκκίνηση"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Αλλαγές συμβατότητας εφαρμογής"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Εναλλαγή αλλαγών συμβατότητας εφαρμογών"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Όχι, ευχαριστώ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Ακύρωση"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Εναλλαγή"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Απενεργοποίηση"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Δεν είναι δυνατή η ενεργοποίηση της SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Δοκιμάστε να ενεργοποιήσετε ξανά τη SIM. Εάν το πρόβλημα δεν επιλυθεί, επανεκκινήστε τη συσκευή σας."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ενεργοποίηση δικτύου"</string>
@@ -4585,7 +4586,7 @@
     <string name="show_clip_access_notification_summary" msgid="474090757777203207">"Να εμφανίζεται ένα μήνυμα όταν οι εφαρμογές αποκτούν πρόσβαση σε κείμενο, εικόνες ή άλλο περιεχόμενο που έχετε αντιγράψει"</string>
     <string name="all_apps" msgid="3054120149509114789">"Όλες οι εφαρμογές"</string>
     <string name="request_manage_bluetooth_permission_dont_allow" msgid="8798061333407581300">"Να μην επιτρέπεται"</string>
-    <string name="uwb_settings_title" msgid="8578498712312002231">"Ultra-Wideband (UWB)"</string>
+    <string name="uwb_settings_title" msgid="8578498712312002231">"Υπερευρεία ζώνη (UWB)"</string>
     <string name="uwb_settings_summary" msgid="3074271396764672268">"Συμβάλλει στον προσδιορισμό της σχετικής θέσης των κοντινών συσκευών με UWB"</string>
     <string name="uwb_settings_summary_airplane_mode" msgid="1328864888135086484">"Απενεργοποιήστε τη λειτουργία πτήσης για να χρησιμοποιήσετε το UWB"</string>
     <string name="uwb_settings_summary_no_uwb_regulatory" msgid="3465456428217979428">"Το UWB δεν είναι διαθέσιμο στην τρέχουσα τοποθεσία"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Απεγκατάσταση εφαρμογής"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Εφαρμογές που εγκαταστάθηκαν τον τελευταίο # μήνα}other{Εφαρμογές που εγκαταστάθηκαν τους τελευταίους # μήνες}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Εφαρμογές που εγκαταστάθηκαν περισσότερο από # μήνα πριν}other{Εφαρμογές που εγκαταστάθηκαν περισσότερο από # μήνες πριν}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Προτεινόμενες εφαρμογές"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Εφαρμογές που έχετε παρακάμψει"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Προεπιλογή εφαρμογής"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Αισθητήρας δακτυλικών αποτυπωμάτων"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Ειδοποιήσεις με λάμψη"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Σχετικά με τις ειδοποιήσεις με λάμψη"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ενεργή"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Ανενεργή"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ενεργή"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Το όνομα της συσκευής σας είναι ορατό στις εφαρμογές που εγκαθιστάτε. Ενδέχεται επίσης να είναι ορατό και σε άλλα άτομα, όταν συνδέεστε σε συσκευές Bluetooth, συνδέεστε σε ένα δίκτυο Wi-Fi ή ρυθμίζετε ένα σημείο πρόσβασης Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Γραμματικό γένος"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Επιλογή γραμματικού γένους"</string>
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index 1451663..a5cf434 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints and <xliff:g id="WATCH">%s</xliff:g> added"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint and Face Unlock"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Face"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Password • Face"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continue without Face Unlock"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Pattern • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Password • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continue without face or fingerprint"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continue without fingerprint or face"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"None"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Swipe"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
@@ -908,7 +905,7 @@
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Extend compatibility"</string>
     <string name="wifi_hotspot_maximize_compatibility_single_ap_summary" msgid="383355687431591441">"Helps other devices find this hotspot. Reduces hotspot connection speed."</string>
     <string name="wifi_hotspot_maximize_compatibility_dual_ap_summary" msgid="3579549223159056533">"Helps other devices find this hotspot. Increases battery usage."</string>
-    <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Speed &amp; compatibility"</string>
+    <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Speed and compatibility"</string>
     <string name="wifi_hotspot_speed_summary_2g" msgid="5063438001736234858">"2.4 GHz / Compatible with most devices"</string>
     <string name="wifi_hotspot_speed_summary_5g" msgid="6221158936983135040">"5 GHz / Compatible with many devices"</string>
     <string name="wifi_hotspot_speed_summary_6g" msgid="8863992901226595544">"6 GHz / Compatible with few devices"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Display white balance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Stay unlocked on fold"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Keep front display unlocked when folded until screen timeout"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatically raises the refresh rate from 60 to <xliff:g id="ID_1">%1$s</xliff:g> Hz for some content. Increases battery usage."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
@@ -1465,7 +1464,7 @@
     <string name="lockpassword_confirm_your_pattern_header_frp" msgid="5641858015891896427">"Verify pattern"</string>
     <string name="lockpassword_confirm_your_pin_header_frp" msgid="8285647793164729982">"Verify PIN"</string>
     <string name="lockpassword_confirm_your_password_header_frp" msgid="7932240547542564033">"Verify password"</string>
-    <string name="lockpassword_remote_validation_header" msgid="4992647285784962073">"Verify it\'s you"</string>
+    <string name="lockpassword_remote_validation_header" msgid="4992647285784962073">"Verify that it\'s you"</string>
     <string name="lockpassword_remote_validation_pattern_details" msgid="4655537780358707983">"To transfer Google Accounts, settings and more, enter your other device\'s pattern. Your pattern is encrypted."</string>
     <string name="lockpassword_remote_validation_pin_details" msgid="2373654227583206297">"To transfer Google Accounts, settings and more, enter your other device\'s PIN. Your PIN is encrypted."</string>
     <string name="lockpassword_remote_validation_password_details" msgid="3482328925925888340">"To transfer Google Accounts, settings and more, enter your other device\'s password. Your password is encrypted."</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"screen pinning"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"work challenge, work, profile"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"work profile, managed profile, unify, unification, work, profile"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"awake, sleep, do not lock, stay unlocked on fold, folding, closing, fold, close, screen off"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestures"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Enable ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Enable ANGLE as system OpenGL ES driver"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Enable ANGLE as default OpenGL ES driver. Enabling it on incompatible devices may break some applications."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"A reboot is required to change the system OpenGL ES driver"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App compatibility changes"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
@@ -4277,7 +4277,7 @@
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Off"</string>
     <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"To disable this SIM, remove the SIM card"</string>
     <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tap to activate <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
+    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Erase SIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Change the network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferred network type"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, thanks"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Switch"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Turn off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Can’t activate SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Try turning on the SIM again. If the problem continues, restart your device."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Network activation"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Uninstall app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps installed in the last # month}other{Apps installed in the last # months}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps installed more than # month ago}other{Apps installed more than # months ago}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Aspect ratio"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Choose an aspect ratio to view this app if it hasn\'t been designed to fit your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Suggested apps"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps you have overridden"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"App default"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Full-screen"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Half-screen"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Device aspect ratio"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"The app will restart when you change the aspect ratio. You may lose unsaved changes."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Fingerprint sensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Flash notifications"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"About flash notifications"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatical gender"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select grammatical gender"</string>
 </resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 04a8455..4f81447d 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint, and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints, and <xliff:g id="WATCH">%s</xliff:g> added"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint &amp; Face Unlock"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Face"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Password • Face"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continue without Face Unlock"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Pattern • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Password • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continue without face or fingerprint"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continue without fingerprint or face"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"None"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Swipe"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Display white balance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Stay unlocked on fold"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Keep front display unlocked when folded until screen timeout"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatically raises the refresh rate from 60 to <xliff:g id="ID_1">%1$s</xliff:g> Hz for some content. Increases battery usage."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
@@ -1796,7 +1795,7 @@
     <string name="audio_category_title" msgid="5283853679967605826">"Audio"</string>
     <string name="general_category_title" msgid="6298579528716834157">"General"</string>
     <string name="display_category_title" msgid="6638191682294461408">"Display"</string>
-    <string name="accessibility_color_and_motion_title" msgid="2323301706545305874">"Color and motion"</string>
+    <string name="accessibility_color_and_motion_title" msgid="2323301706545305874">"Colour and motion"</string>
     <string name="accessibility_turn_screen_darker_title" msgid="5986223133285858349">"Turn screen darker"</string>
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Interaction controls"</string>
     <string name="accessibility_tap_assistance_title" msgid="1058913033421048284">"Timing controls"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"screen pinning"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"work challenge, work, profile"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"work profile, managed profile, unify, unification, work, profile"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"awake, sleep, do not lock, stay unlocked on fold, folding, closing, fold, close, screen off"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestures"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Enable ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Enable ANGLE as system OpenGL ES driver"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Enable ANGLE as default OpenGL ES driver. Enabling it on incompatible devices may break some applications."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"A reboot is required to change the system OpenGL ES driver"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App Compatibility Changes"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No thanks"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Switch"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Turn off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Can’t activate SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Try turning on the SIM again. If the problem continues, restart your device."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Network activation"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Uninstall app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps installed in the last # month}other{Apps installed in the last # months}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps installed more than # month ago}other{Apps installed more than # months ago}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Aspect ratio"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Choose an aspect ratio to view this app if it hasn\'t been designed to fit your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Suggested apps"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps you have overridden"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"App default"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Full screen"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Half screen"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Device aspect ratio"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"The app will restart when you change aspect ratio. You may lose unsaved changes."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Fingerprint sensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Flash notifications"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"About flash notifications"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatical gender"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select Grammatical gender"</string>
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 5f5aef5..6ec1b0c 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints and <xliff:g id="WATCH">%s</xliff:g> added"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint and Face Unlock"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Face"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Password • Face"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continue without Face Unlock"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Pattern • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Password • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continue without face or fingerprint"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continue without fingerprint or face"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"None"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Swipe"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
@@ -908,7 +905,7 @@
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Extend compatibility"</string>
     <string name="wifi_hotspot_maximize_compatibility_single_ap_summary" msgid="383355687431591441">"Helps other devices find this hotspot. Reduces hotspot connection speed."</string>
     <string name="wifi_hotspot_maximize_compatibility_dual_ap_summary" msgid="3579549223159056533">"Helps other devices find this hotspot. Increases battery usage."</string>
-    <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Speed &amp; compatibility"</string>
+    <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Speed and compatibility"</string>
     <string name="wifi_hotspot_speed_summary_2g" msgid="5063438001736234858">"2.4 GHz / Compatible with most devices"</string>
     <string name="wifi_hotspot_speed_summary_5g" msgid="6221158936983135040">"5 GHz / Compatible with many devices"</string>
     <string name="wifi_hotspot_speed_summary_6g" msgid="8863992901226595544">"6 GHz / Compatible with few devices"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Display white balance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Stay unlocked on fold"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Keep front display unlocked when folded until screen timeout"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatically raises the refresh rate from 60 to <xliff:g id="ID_1">%1$s</xliff:g> Hz for some content. Increases battery usage."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
@@ -1465,7 +1464,7 @@
     <string name="lockpassword_confirm_your_pattern_header_frp" msgid="5641858015891896427">"Verify pattern"</string>
     <string name="lockpassword_confirm_your_pin_header_frp" msgid="8285647793164729982">"Verify PIN"</string>
     <string name="lockpassword_confirm_your_password_header_frp" msgid="7932240547542564033">"Verify password"</string>
-    <string name="lockpassword_remote_validation_header" msgid="4992647285784962073">"Verify it\'s you"</string>
+    <string name="lockpassword_remote_validation_header" msgid="4992647285784962073">"Verify that it\'s you"</string>
     <string name="lockpassword_remote_validation_pattern_details" msgid="4655537780358707983">"To transfer Google Accounts, settings and more, enter your other device\'s pattern. Your pattern is encrypted."</string>
     <string name="lockpassword_remote_validation_pin_details" msgid="2373654227583206297">"To transfer Google Accounts, settings and more, enter your other device\'s PIN. Your PIN is encrypted."</string>
     <string name="lockpassword_remote_validation_password_details" msgid="3482328925925888340">"To transfer Google Accounts, settings and more, enter your other device\'s password. Your password is encrypted."</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"screen pinning"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"work challenge, work, profile"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"work profile, managed profile, unify, unification, work, profile"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"awake, sleep, do not lock, stay unlocked on fold, folding, closing, fold, close, screen off"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestures"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Enable ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Enable ANGLE as system OpenGL ES driver"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Enable ANGLE as default OpenGL ES driver. Enabling it on incompatible devices may break some applications."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"A reboot is required to change the system OpenGL ES driver"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App compatibility changes"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
@@ -4277,7 +4277,7 @@
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Off"</string>
     <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"To disable this SIM, remove the SIM card"</string>
     <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tap to activate <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
+    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Erase SIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Change the network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferred network type"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, thanks"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Switch"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Turn off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Can’t activate SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Try turning on the SIM again. If the problem continues, restart your device."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Network activation"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Uninstall app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps installed in the last # month}other{Apps installed in the last # months}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps installed more than # month ago}other{Apps installed more than # months ago}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Aspect ratio"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Choose an aspect ratio to view this app if it hasn\'t been designed to fit your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Suggested apps"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps you have overridden"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"App default"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Full-screen"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Half-screen"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Device aspect ratio"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"The app will restart when you change the aspect ratio. You may lose unsaved changes."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Fingerprint sensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Flash notifications"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"About flash notifications"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatical gender"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select grammatical gender"</string>
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 077ae17..3868555 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Face and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Face, fingerprint and <xliff:g id="WATCH">%s</xliff:g> added"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Face, fingerprints and <xliff:g id="WATCH">%s</xliff:g> added"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Face and Fingerprint Unlock"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingerprint and Face Unlock"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Face and Fingerprint Unlock for work"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Setup needed"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Face and fingerprints added"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Face"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Password • Face"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continue without Face Unlock"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Pattern • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Password • Face • Fingerprint"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continue without face or fingerprint"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continue without fingerprint or face"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"None"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Swipe"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
@@ -908,7 +905,7 @@
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Extend compatibility"</string>
     <string name="wifi_hotspot_maximize_compatibility_single_ap_summary" msgid="383355687431591441">"Helps other devices find this hotspot. Reduces hotspot connection speed."</string>
     <string name="wifi_hotspot_maximize_compatibility_dual_ap_summary" msgid="3579549223159056533">"Helps other devices find this hotspot. Increases battery usage."</string>
-    <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Speed &amp; compatibility"</string>
+    <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Speed and compatibility"</string>
     <string name="wifi_hotspot_speed_summary_2g" msgid="5063438001736234858">"2.4 GHz / Compatible with most devices"</string>
     <string name="wifi_hotspot_speed_summary_5g" msgid="6221158936983135040">"5 GHz / Compatible with many devices"</string>
     <string name="wifi_hotspot_speed_summary_6g" msgid="8863992901226595544">"6 GHz / Compatible with few devices"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Display white balance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Stay unlocked on fold"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Keep front display unlocked when folded until screen timeout"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatically raises the refresh rate from 60 to <xliff:g id="ID_1">%1$s</xliff:g> Hz for some content. Increases battery usage."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
@@ -1465,7 +1464,7 @@
     <string name="lockpassword_confirm_your_pattern_header_frp" msgid="5641858015891896427">"Verify pattern"</string>
     <string name="lockpassword_confirm_your_pin_header_frp" msgid="8285647793164729982">"Verify PIN"</string>
     <string name="lockpassword_confirm_your_password_header_frp" msgid="7932240547542564033">"Verify password"</string>
-    <string name="lockpassword_remote_validation_header" msgid="4992647285784962073">"Verify it\'s you"</string>
+    <string name="lockpassword_remote_validation_header" msgid="4992647285784962073">"Verify that it\'s you"</string>
     <string name="lockpassword_remote_validation_pattern_details" msgid="4655537780358707983">"To transfer Google Accounts, settings and more, enter your other device\'s pattern. Your pattern is encrypted."</string>
     <string name="lockpassword_remote_validation_pin_details" msgid="2373654227583206297">"To transfer Google Accounts, settings and more, enter your other device\'s PIN. Your PIN is encrypted."</string>
     <string name="lockpassword_remote_validation_password_details" msgid="3482328925925888340">"To transfer Google Accounts, settings and more, enter your other device\'s password. Your password is encrypted."</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"screen pinning"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"work challenge, work, profile"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"work profile, managed profile, unify, unification, work, profile"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"awake, sleep, do not lock, stay unlocked on fold, folding, closing, fold, close, screen off"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestures"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Enable ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Enable ANGLE as system OpenGL ES driver"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Enable ANGLE as default OpenGL ES driver. Enabling it on incompatible devices may break some applications."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"A reboot is required to change the system OpenGL ES driver"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App compatibility changes"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Toggle app compatibility changes"</string>
@@ -4277,7 +4277,7 @@
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Off"</string>
     <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"To disable this SIM, remove the SIM card"</string>
     <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tap to activate <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Delete SIM"</string>
+    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Erase SIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Change the network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferred network type"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, thanks"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Switch"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Turn off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Can’t activate SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Try turning on the SIM again. If the problem continues, restart your device."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Network activation"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Uninstall app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps installed in the last # month}other{Apps installed in the last # months}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps installed more than # month ago}other{Apps installed more than # months ago}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Aspect ratio"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Choose an aspect ratio to view this app if it hasn\'t been designed to fit your <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Suggested apps"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps you have overridden"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"App default"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Full-screen"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Half-screen"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Device aspect ratio"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"The app will restart when you change the aspect ratio. You may lose unsaved changes."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Fingerprint sensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Flash notifications"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"About flash notifications"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatical gender"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Select grammatical gender"</string>
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 8d80d26..7382e08 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎Face and ‎‏‎‎‏‏‎<xliff:g id="WATCH">%s</xliff:g>‎‏‎‎‏‏‏‎ added‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‎‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‎‎Face, fingerprint, and ‎‏‎‎‏‏‎<xliff:g id="WATCH">%s</xliff:g>‎‏‎‎‏‏‏‎ added‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‎‎Face, fingerprints, and ‎‏‎‎‏‏‎<xliff:g id="WATCH">%s</xliff:g>‎‏‎‎‏‏‏‎ added‎‏‎‎‏‎"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎Face &amp; Fingerprint Unlock‎‏‎‎‏‎"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‏‎‎Fingerprint &amp; Face Unlock‎‏‎‎‏‎"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‎‏‎‎‎‏‎Face &amp; Fingerprint Unlock for work‎‏‎‎‏‎"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎Setup needed‎‏‎‎‏‎"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‏‏‏‏‎‎Face and fingerprints added‎‏‎‎‏‎"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‏‎‎PIN • Face‎‏‎‎‏‎"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎Password • Face‎‏‎‎‏‎"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‏‏‎‏‎‎‎‎Continue without Face Unlock‎‏‎‎‏‎"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‎‎‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎‎‏‎‏‎‎‎‏‎‎‎Pattern • Face • Fingerprint‎‏‎‎‏‎"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‎‎PIN • Face • Fingerprint‎‏‎‎‏‎"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎Password • Face • Fingerprint‎‏‎‎‏‎"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎Continue without face or fingerprint‎‏‎‎‏‎"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‎Continue without fingerprint or face‎‏‎‎‏‎"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‎‏‎‏‎‏‎‏‎‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎None‎‏‎‎‏‎"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‏‎‎Swipe‎‏‎‎‏‎"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‎Pattern‎‏‎‎‏‎"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‏‎‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎Off‎‏‎‎‏‎"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎Display white balance‎‏‎‎‏‎"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‎Stay unlocked on fold‎‏‎‎‏‎"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎Keep front display unlocked when folded until screen timeout‎‏‎‎‏‎"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‎‏‎‎‏‏‏‎Smooth Display‎‏‎‎‏‎"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎Automatically raises the refresh rate from 60 to ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ Hz for some content. Increases battery usage.‎‏‎‎‏‎"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎Force peak refresh rate‎‏‎‎‏‎"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎screen pinning‎‏‎‎‏‎"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‎‎work challenge, work, profile‎‏‎‎‏‎"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎work profile, managed profile, unify, unification, work, profile‎‏‎‎‏‎"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‎awake, sleep, do not lock, stay unlocked on fold, folding, closing, fold, close, screen off‎‏‎‎‏‎"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‏‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‎gestures‎‏‎‎‏‎"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‏‏‎‎‎wallet‎‏‎‎‏‎"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎pay, tap, payments‎‏‎‎‏‎"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎Enable ANGLE‎‏‎‎‏‎"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎Enable ANGLE as system OpenGL ES driver‎‏‎‎‏‎"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎Enable ANGLE as default OpenGL ES driver. Enabling it on incompatible devices may break some applications.‎‏‎‎‏‎"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎A reboot is required to change the system OpenGL ES driver‎‏‎‎‏‎"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎App Compatibility Changes‎‏‎‎‏‎"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‎Toggle app compatibility changes‎‏‎‎‏‎"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎‎‎‏‏‎No thanks‎‏‎‎‏‎"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‎Cancel‎‏‎‎‏‎"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎Switch‎‏‎‎‏‎"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‎Turn off‎‏‎‎‏‎"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎Can’t activate SIM‎‏‎‎‏‎"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎Try turning on the SIM again. If the problem continues, restart your device.‎‏‎‎‏‎"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‏‎‏‎‎‏‏‎‏‎‎‏‏‎Network activation‎‏‎‎‏‎"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‎‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎Uninstall app‎‏‎‎‏‎"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎Apps installed in the last # month‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎Apps installed in the last # months‎‏‎‎‏‎}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‎‏‎‏‎Apps installed more than # month ago‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‎‏‎‏‎Apps installed more than # months ago‎‏‎‎‏‎}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎Aspect ratio‎‏‎‎‏‎"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‎‏‏‏‎‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎Choose an aspect ratio to view this app if it hasn\'t been designed to fit your ‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‏‏‎Suggested apps‎‏‎‎‏‎"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‎Apps you have overridden‎‏‎‎‏‎"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‎App default‎‏‎‎‏‎"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‎‎‏‏‎‎‎Full screen‎‏‎‎‏‎"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‏‎‎‎‎‎‏‎Half screen‎‏‎‎‏‎"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‏‏‎‎‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‎Device aspect ratio‎‏‎‎‏‎"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎16:9‎‏‎‎‏‎"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎3:2‎‏‎‎‏‎"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎4:3‎‏‎‎‏‎"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‏‏‎The app will restart when you change aspect ratio. You may lose unsaved changes.‎‏‎‎‏‎"</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎Fingerprint sensor‎‏‎‎‏‎"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‏‏‎Flash notifications‎‏‎‎‏‎"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‎About flash notifications‎‏‎‎‏‎"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‎‎On‎‏‎‎‏‎"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‎Off‎‏‎‎‏‎"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‎On‎‏‎‎‏‎"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎Your device name is visible to apps you installed. It may also be seen by other people when you connect to Bluetooth devices, connect to a Wi-Fi network or set up a Wi-Fi hotspot.‎‏‎‎‏‎"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‎‎‎Grammatical gender‎‏‎‎‏‎"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‎‎‎‎‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎Select Grammatical gender‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 88b00ea..64d5f15 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rostro y <xliff:g id="WATCH">%s</xliff:g> agregados"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rostro, huella dactilar y <xliff:g id="WATCH">%s</xliff:g> agregados"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rostro, huellas dactilares y <xliff:g id="WATCH">%s</xliff:g> agregados"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueo facial y con huellas dactilares"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueo facial y con huella dactilar"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueo facial y con huellas dactilares para el trabajo"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Se requiere configuración"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Se agregaron huellas dactilares y el rostro"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Rostro"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Contraseña • Rostro"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continuar sin Desbloqueo facial"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Patrón • Desbloqueo facial • Huella dactilar"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Desbloqueo facial • Huella dactilar"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Contraseña • Desbl. facial • Huella dactilar"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continuar sin el desbloqueo facial ni la huella dactilar"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continuar sin desbloqueo facial ni con huella dactilar"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ninguno"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Deslizar"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patrón"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Inhabilitado"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Mostrar balance de blancos"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Desbloqueado al estar plegado"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Mantener la pantalla frontal desbloqueada cuando el dispositivo está plegado hasta que se agote el tiempo de espera de la pantalla"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automáticamente la frecuencia de actualización de 60 Hz a <xliff:g id="ID_1">%1$s</xliff:g> Hz para cierto contenido. Incrementa el uso de batería."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forzar frecuencia de actualización máxima"</string>
@@ -2049,7 +2048,7 @@
     <string name="accessibility_audio_description_summary" msgid="2554789094873781056">"Escucha una descripción de lo que ocurre en pantalla en películas y programas compatibles"</string>
     <string name="keywords_audio_description" msgid="6202816411593281252">"audiodescripción, audio, descripción, persona con visión reducida"</string>
     <string name="accessibility_summary_shortcut_enabled" msgid="4030427268146752644">"Combinación activada"</string>
-    <string name="accessibility_summary_shortcut_disabled" msgid="564005462092499068">"Combinación desactivada"</string>
+    <string name="accessibility_summary_shortcut_disabled" msgid="564005462092499068">"Desactivada"</string>
     <string name="accessibility_summary_state_enabled" msgid="1065431632216039369">"Activado"</string>
     <string name="accessibility_summary_state_disabled" msgid="9173234532752799694">"Desactivado"</string>
     <string name="accessibility_summary_state_stopped" msgid="2343602489802623424">"No funciona. Presiona para obtener información."</string>
@@ -2278,7 +2277,7 @@
     <string name="battery_detail_since_full_charge" msgid="5650946565524184582">"Desglose desde la última carga completa"</string>
     <string name="battery_last_full_charge" msgid="8308424441475063956">"Última carga completa"</string>
     <string name="battery_full_charge_last" msgid="465146408601016923">"La carga completa dura aproximadamente"</string>
-    <string name="battery_footer_summary" msgid="6753248007004259000">"La duración de batería restante es aproximada y puede variar en función del uso."</string>
+    <string name="battery_footer_summary" msgid="6753248007004259000">"La duración de la batería restante es aproximada y puede variar en función del uso."</string>
     <string name="battery_detail_power_usage" msgid="1492926471397355477">"Uso de la batería"</string>
     <string name="battery_not_usage" msgid="3851536644733662392">"Sin uso desde la última carga completa"</string>
     <string name="battery_not_usage_24hr" msgid="8397519536160741248">"Sin uso durante las últimas 24 h"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"fijar pantalla"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"desafíos de trabajo, trabajo, perfil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"perfil de trabajo, perfil administrado, unificar, unificación, trabajo, perfil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"activo, suspendido, no bloquear, permanecer desbloqueado al estar plegado, plegado, cerrado, pliegue, pantalla apagada"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestos"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"billetera"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, presionar, pagos"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Habilitar ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Habilita ANGLE como controlador del sistema OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Habilita ANGLE como controlador predeterminado de OpenGL ES. Habilitarlo en dispositivos no compatibles podría causar problemas con algunas apps."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Se debe reiniciar para cambiar el controlador del sistema OpenGL ES"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Cambios en la compatibilidad de la app"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activa o desactiva los cambios de compatibilidad de la app"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, gracias"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Cambiar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desactivar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"No se puede activar la SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Vuelve a activar la SIM. Si el problema persiste, reinicia el dispositivo."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activación de red"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Desinstalar app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps instaladas en el último # mes}other{Apps instaladas en los últimos # meses}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps instaladas hace más de # mes}other{Apps instaladas hace más de # meses}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Relación de aspecto"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Elige una relación de aspecto para ver esta app si no se diseñó para adaptarse a tu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Apps sugeridas"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps que anulaste"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Predeterminada de la app"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Pantalla completa"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Media pantalla"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Relación de aspecto del dispositivo"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"La app se reiniciará cuando cambies la relación de aspecto. Es posible que pierdas cambios sin guardar."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensor de huellas dactilares"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notificaciones con flash"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Info. sobre notificaciones con flash"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activado"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desactivado"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activado"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"El nombre de tu dispositivo es visible para las apps instaladas. Es posible que también lo vean otras personas cuando te conectes a dispositivos Bluetooth o a una red Wi-Fi, o cuando configures un hotspot de Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Género gramatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecciona un género gramatical"</string>
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 590e389..e0ba1cd 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Cara y <xliff:g id="WATCH">%s</xliff:g> añadidos"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Cara, huella digital y <xliff:g id="WATCH">%s</xliff:g> añadidos"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Cara, huellas digitales y <xliff:g id="WATCH">%s</xliff:g> añadidos"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueo facial y con huella digital"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Desbloqueo facial y con huella digital"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueo facial y con huella digital para el trabajo"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Hay que configurarlo"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Cara y huellas digitales añadidas"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Cara"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Contraseña • Cara"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continuar sin Desbloqueo facial"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Patrón • Cara • Huella digital"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Cara • Huella digital"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Contraseña • Cara • Huella digital"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continuar sin cara ni huella digital"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continuar sin huella digital ni cara"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ninguno"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Deslizar"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patrón"</string>
@@ -909,10 +906,10 @@
     <string name="wifi_hotspot_maximize_compatibility_single_ap_summary" msgid="383355687431591441">"Ayuda a otros dispositivos a encontrar este punto de acceso. Reduce la velocidad de conexión del punto de acceso."</string>
     <string name="wifi_hotspot_maximize_compatibility_dual_ap_summary" msgid="3579549223159056533">"Ayuda a otros dispositivos a encontrar este punto de acceso. Aumenta el uso de la batería."</string>
     <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"Velocidad y compatibilidad"</string>
-    <string name="wifi_hotspot_speed_summary_2g" msgid="5063438001736234858">"2,4 GHz: compatible con la mayoría de los dispositivos"</string>
+    <string name="wifi_hotspot_speed_summary_2g" msgid="5063438001736234858">"2,4 GHz / Compatible con la mayoría de dispositivos"</string>
     <string name="wifi_hotspot_speed_summary_5g" msgid="6221158936983135040">"5 GHz: compatible con muchos dispositivos"</string>
-    <string name="wifi_hotspot_speed_summary_6g" msgid="8863992901226595544">"6 GHz: compatible con pocos dispositivos"</string>
-    <string name="wifi_hotspot_speed_summary_2g_and_5g" msgid="5931052946168943750">"2,4 y 5 GHz: compatible con la mayoría de los dispositivos"</string>
+    <string name="wifi_hotspot_speed_summary_6g" msgid="8863992901226595544">"6 GHz / Compatible con pocos dispositivos"</string>
+    <string name="wifi_hotspot_speed_summary_2g_and_5g" msgid="5931052946168943750">"2,4 y 5 GHz / Compatible con la mayoría de dispositivos"</string>
     <string name="wifi_hotspot_speed_intro" msgid="6973482196363758925">"Elige la frecuencia de tu punto de acceso. La frecuencia afecta a la velocidad de conexión y a los tipos de dispositivos que pueden encontrar tu punto de acceso."</string>
     <string name="wifi_hotspot_speed_category" msgid="5265655850463630286">"Frecuencia preferida"</string>
     <string name="wifi_hotspot_speed_2g" msgid="3400600834257664480">"2,4 GHz"</string>
@@ -922,7 +919,7 @@
     <string name="wifi_hotspot_speed_2g_5g" msgid="9192756255938408285">"2,4 y 5 GHz"</string>
     <string name="wifi_hotspot_speed_2g_5g_summary" msgid="8104575293617700173">"Velocidades rápidas. Este punto de acceso de doble banda es compatible con la mayoría de los dispositivos."</string>
     <string name="wifi_hotspot_speed_6g" msgid="3787697484862730500">"6 GHz"</string>
-    <string name="wifi_hotspot_speed_6g_summary" msgid="8675262219242174548">"Velocidades más rápidas. Compatible con pocos dispositivos."</string>
+    <string name="wifi_hotspot_speed_6g_summary" msgid="8675262219242174548">"Velocidades aún más rápidas. Compatible con pocos dispositivos."</string>
     <string name="wifi_hotspot_speed_summary_unavailable" msgid="7276080644693388756">"No está disponible en tu país o zona"</string>
     <string name="wifi_hotspot_speed_footer" msgid="8846939503916795002">"Si tu frecuencia preferida no está disponible, tu punto de acceso puede usar una diferente. La configuración de seguridad del punto de acceso puede cambiar si modificas la frecuencia."</string>
     <string name="wifi_hotspot_security_summary_unavailable" msgid="117582979310345853">"No disponible con 6 GHz"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desactivado"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balance de blancos de pantalla"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Dejar desbloqueada al plegar"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Dejar la pantalla frontal desbloqueada al plegar hasta que pase el tiempo de espera de la pantalla"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Pantalla fluida"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Incrementa automáticamente la frecuencia de actualización de 60 a <xliff:g id="ID_1">%1$s</xliff:g> Hz en determinados tipos de contenido. Aumenta el uso de batería."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forzar tasa de refresco máxima"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"fijar pantalla"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"reto de trabajo, perfil, trabajo"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"perfil de trabajo, perfil administrado, unificar, unificación, trabajo, perfil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"activar, desactivar, no bloquear, dejar desbloqueada al plegar, plegar, cerrar, plegable, cerrado, apagar pantalla"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestos"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"cartera"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagos"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Habilitar ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Habilita ANGLE como controlador OpenGL ES del sistema"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Habilita ANGLE como controlador OpenGL ES predeterminado. Habilitarlo en dispositivos incompatibles puede hacer que algunas aplicaciones dejen de funcionar."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Debes reiniciar para cambiar el controlador OpenGL ES del sistema"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Cambios de compatibilidad de aplicaciones"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activa o desactiva los cambios de compatibilidad de aplicaciones"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, gracias"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Cambiar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desactivar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"No se ha podido activar la tarjeta SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prueba a activar la tarjeta SIM de nuevo. Si el problema continúa, reinicia el dispositivo."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activación de la red"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Desinstalar aplicación"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplicaciones instaladas desde hace # mes}other{Aplicaciones instaladas desde hace # meses}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplicaciones instaladas hace más de # mes}other{Aplicaciones instaladas hace más de # meses}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Relación de aspecto"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Elige una relación de aspecto para ver esta aplicación si no se ha diseñado para adaptarse a tu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Aplicaciones sugeridas"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplicaciones donde se ha anulado"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Predeterminado de la aplicación"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Pantalla completa"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Media pantalla"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Relación de aspecto del dispositivo"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"La aplicación se reiniciará cuando cambies la relación de aspecto. Puede que pierdas los cambios sin guardar."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensor de huellas digitales"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notificaciones con flash"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Acerca de las notificaciones con flash"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activado"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desactivado"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activado"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Las aplicaciones que hayas instalado pueden ver el nombre de tu dispositivo. También es posible que lo vean otros usuarios si lo conectas con dispositivos Bluetooth, si te conectas a una red Wi-Fi o si configuras un punto de acceso Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Género gramatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecciona el género gramatical"</string>
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index 3620a93..e34ddec 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Nägu ja kell <xliff:g id="WATCH">%s</xliff:g> on lisatud"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Nägu, sõrmejälg ja kell <xliff:g id="WATCH">%s</xliff:g> on lisatud"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Nägu, sõrmejäljed ja kell <xliff:g id="WATCH">%s</xliff:g> on lisatud"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Näo ja sõrmejäljega avamine"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sõrmejälje ja Näoga avamine"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Näo ja sõrmejäljega avamine töö jaoks"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Seadistamine on vajalik"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Nägu ja sõrmejäljed on lisatud"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN-kood • Nägu"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Parool • Nägu"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Jätka ilma näoga avamiseta"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Muster • Nägu • Sõrmejälg"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN-kood • Nägu • Sõrmejälg"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Parool • Nägu • Sõrmejälg"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Jätka ilma näo või sõrmejäljeta"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Ilma näoga avamise või sõrmejäljeta jätkamine"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Puudub"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Pühkimine"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Muster"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Väljas"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Ekraani valge tasakaal"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Pärast kokku voltimist jätke lukustamata"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Hoidke esiekraan kokku voldituna lukustamata kuni ekraani ajalõpuni"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Suurendab teatud sisu puhul värskendussagedust 60 hertsilt <xliff:g id="ID_1">%1$s</xliff:g> hertsini. Akukasutus suureneb."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Jõusta kõrgeim värskendamissagedus"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ekraanikuva kinnitamine"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"töö väljakutse, töö, profiil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"tööprofiil, hallatud profiil, ühenda, ühendamine, töö, profiil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ärata, magama, ära lukusta, ära lukusta voltimisel, voldi, sulgemine, voltimine, sulge, ekraan välja"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"liigutused"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"maksa, puuduta, maksed"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Luba ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE-i lubamine süsteemi OpenGL ES-i draiverina"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE-i lubamine vaikimisi OpenGL ES-i draiverina Selle lubamine ühildumatutes seadmetes võib mõne rakenduse rikkuda."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Süsteemi OpenGL ES-i draiveri muutmiseks on vajalik taaskäivitamine"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Rakenduste ühilduvuse muudatused"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Rakenduse ühilduvuse muudatuste lüliti"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Tänan, ei"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Loobu"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Vaheta"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Lülita välja"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-kaarti ei saa aktiveerida"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Lülitage SIM-kaart uuesti sisse. Kui probleem jätkub, taaskäivitage seade."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Võrgu aktiveerimine"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Desinstalli rakendus"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Rakendused, mis installiti viimase # kuu jooksul}other{Rakendused, mis installiti viimase # kuu jooksul}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Rakendused, mis installiti rohkem kui # kuu tagasi}other{Rakendused, mis installiti rohkem kui # kuud tagasi}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Soovitatud rakendused"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Rakendused, mille olete alistanud"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Rakenduse vaikeseade"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sõrmejäljeandur"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Vilkuvad märguanded"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Teave vilkuvate märguannete kohta"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Sees"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Väljas"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Sees"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Teie seadme nimi on teie installitud rakendustele nähtav. Bluetooth-seadmetega või WiFi-võrguga ühenduse loomisel või WiFi-kuumkoha seadistamisel võivad seda näha ka teised inimesed."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatiline sugu"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Grammatilise soo valimine"</string>
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 98552a6..9b41756 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gehitu dira aurpegia eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gehitu dira aurpegia, hatz-marka eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gehitu dira aurpegia, hatz-markak eta <xliff:g id="WATCH">%s</xliff:g> erlojua"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Aurpegi eta hatz-marka bidez desblokeatzea"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Hatz-markaren eta aurpegiaren bidez desblokeatzea"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Laneko profila aurpegi eta hatz-marka bidez desblokeatzea"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfiguratu gabe"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Aurpegia eta hatz-markak gehitu dira"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PINa • Aurpegia"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Pasahitza • Aurpegia"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Egin aurrera aurpegi bidez desblokeatzeko eginbidea gabe"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Eredua • Aurpegia • Hatz-marka"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PINa • Aurpegia • Hatz-marka"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Pasahitza • Aurpegia • Hatz-marka"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Egin aurrera aurpegirik edo hatz-markarik gabe"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Egin aurrera aurpegia edo hatz-marka erabili gabe"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Bat ere ez"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Hatza pasatzea"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Eredua"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desaktibatuta"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Pantailaren zuri-balantzea"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Utzi desblokeatuta tolestean"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Tolestean, utzi aurreko pantaila desblokeatuta pantailaren denbora-muga gainditu arte"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatikoki igotzen du freskatze-abiadura 60 Hz-tik <xliff:g id="ID_1">%1$s</xliff:g> Hz-ra zenbait edukitarako. Bateria-erabilera luzatzen du."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Erabili gehieneko freskatze-abiadura"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"pantaila ainguratzeko aukera"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"laneko erronka, lana, profila"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"laneko profila, kudeatutako profila, bateratu, bateratzea, lana, profila"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"esna, aktibatu, piztu, lo, lokartu, desaktibatu, itzali, ez blokeatu, utzi desblokeatuta tolestean, tolestu, itxi, pantaila itzali"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"keinuak"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"diru-zorroa"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ordaindu, ukitu, ordainketak"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Gaitu ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Gaitu ANGLE OpenGL ES-aren kontrolatzaile gisa (sistemarena)"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Gaitu ANGLE OpenGL ES-aren kontrolatzaile lehenetsi gisa. Bateragarriak ez diren gailuetan gaituz gero, baliteke aplikazio batzuek funtzionatzeari uztea."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Gailua berrabiarazi egin behar da OpenGL ES-aren kontrolatzailea (sistemarena) aldatzeko"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Aplikazioaren bateragarritasun-aldaketak"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Aktibatu/Desaktibatu aplikazioaren bateragarritasun-aldaketak"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ez, eskerrik asko"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Utzi"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Aldatu"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desaktibatu"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Ezin da aktibatu SIMa"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Saiatu berriro SIMa aktibatzen. Arazoak badirau, berrabiarazi gailua."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Sarearen aktibazioa"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Desinstalatu aplikazioa"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Azken # hilabetean instalatutako aplikazioak}other{Azken # hilabeteetan instalatutako aplikazioak}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Duela # hilabete baino gehiago instalatutako aplikazioak}other{Duela # hilabete baino gehiago instalatutako aplikazioak}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Iradokitako aplikazioak"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aspektu-erlazioa ordeztu zaien aplikazioak"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Aplikazioen balio lehenetsia"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Hatz-marken sentsorea"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Argi-jakinarazpenak"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Argi-jakinarazpenei buruz"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aktibatuta"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desaktibatuta"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aktibatuta"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Instalatu dituzun aplikazioek gailuaren izena ikus dezakete. Baliteke jendeak ere ikustea Bluetooth bidezko gailuetara edo wifi-sare batera konektatzean, edo wifi-gune bat konfiguratzean."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Genero gramatikala"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Hautatu genero gramatikala"</string>
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 363eebd..a14b3b0 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"چهره و <xliff:g id="WATCH">%s</xliff:g> اضافه شد"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"چهره، اثر انگشت، و <xliff:g id="WATCH">%s</xliff:g> اضافه شد"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"چهره، اثر انگشت، و <xliff:g id="WATCH">%s</xliff:g> اضافه شد"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"قفل‌گشایی با چهره و اثر انگشت"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"قفل‌گشایی با اثر انگشت و چهره"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"«قفل‌گشایی با اثر انگشت و چهره» برای نمایه کاری"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"راه‌اندازی لازم است"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"چهره و چند اثر انگشت اضافه شده است"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"پین • چهره"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"گذرواژه • چهره"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ادامه بدون «قفل‌گشایی با چهره»"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"الگو • چهره • اثر انگشت"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"پین • چهره • اثر انگشت"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"گذرواژه • چهره • اثر انگشت"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ادامه دادن بدون تشخیص چهره یا اثر انگشت"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ادامه دادن بدون اثر انگشت یا چهره"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"خالی"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"تند کشیدن"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"الگو"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"خاموش"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"تعادل سفیدی نمایشگر"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"قفل نشدن هنگام تاخوردن"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"نمایشگر جلو هنگام تاخوردن تا پایان وقفه صفحه‌نمایش قفل نمی‌شود"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"نمایشگر روان"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"به‌طور خودکار نرخ بازآوری را برای بعضی محتوا، از ۶۰ هرتز تا <xliff:g id="ID_1">%1$s</xliff:g> هرتز بالا می‌برد. مصرف باتری را افزایش می‌دهد."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"اعمال بالاترین نرخ بازآوری"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"سنجاق کردن صفحه"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"چالش کار، کار، نمایه"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"نمایه کاری، نمایه مدیریت‌شده، یکی شدن، یکپارچگی، کار، نمایه"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"بیدار، خواب، قفل نشود، درحالت تاخوردگی باز بماند، تا خوردن، بستن، تا زدن، بسته، خاموش شدن صفحه‌نمایش"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"اشاره‌ها"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"کیف پول"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"پرداخت کردن، ضربه زدن، پرداخت‌ها"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"‏فعال کردن ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"‏فعال کردن ANGLE به‌عنوان درایور OpenGL ES در سیستم"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"‏فعال کردن ANGLE به‌عنوان درایور پیش‌فرض OpenGL ES. فعال کردن آن در دستگاه‌های ناسازگار ممکن است باعث ازکارافتادن برخی برنامه‌ها شود."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"‏برای تغییر درایور OpenGL ES در سیستم، به بازراه‌اندازی نیاز است"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"تغییرات در سازگاری برنامه"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"روشن/خاموش کردن تغییرات سازگاری برنامه"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"نه متشکرم"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"لغو"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"عوض کردن"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"خاموش کردن"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"سیم‌کارت فعال نشد"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"سیم‌کارت را دوباره روشن کنید. اگر مشکل ادامه داشت، دستگاهتان را بازراه‌اندازی کنید."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"فعال‌سازی شبکه"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"حذف نصب برنامه"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{برنامه‌هایی که طی # ماه گذشته نصب شده است}one{برنامه‌هایی که طی # ماه گذشته نصب شده است}other{برنامه‌هایی که طی # ماه گذشته نصب شده است}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{برنامه‌هایی که بیش‌از # ماه از نصب آن‌ها می‌گذرد}one{برنامه‌هایی که بیش‌از # ماه از نصب آن‌ها می‌گذرد}other{برنامه‌هایی که بیش‌از # ماه از نصب آن‌ها می‌گذرد}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"نسبت ابعادی"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"اگر این برنامه متناسب با <xliff:g id="DEVICE_NAME">%1$s</xliff:g> شما طراحی نشده است، نسبت ابعادی را برای مشاهده آن انتخاب کنید"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"برنامه‌های پیشنهادی"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"برنامه‌هایی که ملغی کرده‌اید"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"پیش‌فرض برنامه"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"تمام‌صفحه"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"نیم‌صفحه"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"نسبت ابعادی دستگاه"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"۱۶:۹"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"۳:۲"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"۴:۳"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"هنگام تغییر نسبت ابعادی، برنامه بازراه‌اندازی می‌شود. ممکن است تغییرات ذخیره‌نشده را ازدست بدهید."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"حسگر اثر انگشت"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"اعلان‌های چشمک‌زن"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"درباره اعلان‌های چشمک‌زن"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"روشن"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"خاموش"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"روشن"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‏نام دستگاه شما برای برنامه‌هایی که نصب کرده‌اید قابل‌مشاهده است. همچنین ممکن است هنگام اتصال به دستگاه‌های بلوتوث، اتصال به شبکه Wi-Fi، یا راه‌اندازی نقطه اتصال Wi-Fi، برای افراد دیگر قابل‌مشاهده باشد."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"جنسیت دستوری"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"انتخاب جنسیت دستوری"</string>
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index cf2b754..a13bbb5 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Kasvot ja <xliff:g id="WATCH">%s</xliff:g> lisätty"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Kasvot, sormenjälki ja <xliff:g id="WATCH">%s</xliff:g> lisätty"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Kasvot, sormenjäljet ja <xliff:g id="WATCH">%s</xliff:g> lisätty"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Kasvojentunnistus- ja sormenjälkiavaus"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sormenjälki ja kasvojentunnistusavaus"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Kasvojentunnistus- ja sormenjälkiavaus työkäyttöön"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Edellyttää käyttöönottoa"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Kasvot ja sormenjäljet lisättiin"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN-koodi • Kasvot"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Salasana • Kasvot"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Jatka ilman kasvojentunnistusavausta"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Kuvio • Kasvot • Sormenjälki"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN-koodi • Kasvot • Sormenjälki"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Salasana • Kasvot • Sormenjälki"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Jatka käyttämättä kasvoja tai sormenjälkeä"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Jatka käyttämättä sormenjälkeä tai kasvoja"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ei mitään"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Pyyhkäisy"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Kuvio"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Pois päältä"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Näytä valkotasapaino"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Pidä avattuna taitettaessa"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Kun laite taitetaan, pidä etunäytön lukitus avattuna näytön aikakatkaisuun asti"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Nostaa tietyn sisällön päivitysvälin automaattisesti 60 hertsistä <xliff:g id="ID_1">%1$s</xliff:g> hertsiin. Lisää akun käyttöä."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Pakota suurin mahdollinen päivitysväli"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"näytön kiinnitys"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"työhaaste, työ, profiili"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"työprofiili, hallinnoitu profiili, yhdistä, yhdistäminen, työ, profiili"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"aktivoitu, virransäästö, älä lukitse, pidä avattuna taitettaessa, taittaminen, sulkeminen, taita, sulje, näyttö pois päältä"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"eleet"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"maksa, napauta, maksut"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Ota ANGLE käyttöön"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Ota ANGLE käyttöön järjestelmän OpenGL ES ‑ajurina"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Ota ANGLE käyttöön OpenGL ES ‑oletusajurina Jos otat sen käyttöön yhteensopimattomilla laitteilla, jotkin sovellukset eivät välttämättä enää toimi."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Järjestelmän OpenGL ES ‑ajurin muuttaminen edellyttää uudelleenkäynnistystä"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Sovelluksen yhteensopivuuden muutokset"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Sovellusten yhteensopivuuden muutokset päälle/pois"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ei kiitos"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Peru"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Vaihda"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Laita pois päältä"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-korttia ei voi aktivoida"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Kokeile kytkeä SIM-kortti päälle uudelleen. Jos ongelma ei ratkea, käynnistä laite uudelleen."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Verkon aktivointi"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Poista sovellus"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Viimeisen # kuukauden aikana asennetut sovellukset}other{Viimeisten # kuukauden aikana asennetut sovellukset}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Yli # kuukausi sitten asennetut sovellukset}other{Yli # kuukautta sitten asennetut sovellukset}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Ehdotetut sovellukset"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Ohitetut sovellukset"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Sovelluksen oletus"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sormenjälkitunnistin"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Valoilmoitukset"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Tietoa valoilmoituksista"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Päällä"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Pois päältä"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Päällä"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Laitteesi nimi näkyy asentamillesi sovelluksille. Myös muut käyttäjät voivat nähdä nimen, kun muodostat Bluetooth-yhteyden laitteisiin, yhteyden Wi-Fi-verkkoon tai aktivoit Wi-Fi-hotspotin."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Kieliopillinen suku"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Valitse kieliopillinen suku"</string>
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 3d4ed05..f03ded7 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -192,20 +192,13 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Samedi"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Si une application ne prend pas en charge les préférences régionales, elle utilisera ses paramètres régionaux par défaut."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Apprenez-en plus sur les préférences linguistiques."</string>
-    <!-- no translation found for category_title_terms_of_address (4309422700380895278) -->
-    <skip />
-    <!-- no translation found for terms_of_address_title (4064593634733842458) -->
-    <skip />
-    <!-- no translation found for terms_of_address_summary (6136134336560679144) -->
-    <skip />
-    <!-- no translation found for terms_of_address_intro_title (6149691509414243483) -->
-    <skip />
-    <!-- no translation found for terms_of_address_not_specified (4439257779351251973) -->
-    <skip />
-    <!-- no translation found for terms_of_address_feminine (1743479869695539283) -->
-    <skip />
-    <!-- no translation found for terms_of_address_masculine (983106046135098856) -->
-    <skip />
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Autres préférences"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Termes d\'adresse"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Définissez comment vous souhaitez que l\'on s\'adresse à vous"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Les applications peuvent utiliser vos termes d\'adresse pour personnaliser la façon dont elles s\'adressent à vous."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Non précisé"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Féminin"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculin"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Retirer la langue sélectionnée?}one{Retirer la langue sélectionnée?}other{Retirer les langues sélectionnées?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Le texte s\'affichera dans une autre langue."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Impossible de supprimer toutes les langues"</string>
@@ -395,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"<xliff:g id="WATCH">%s</xliff:g> et visage ajoutés"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Empreinte digitale, <xliff:g id="WATCH">%s</xliff:g> et visage ajoutés"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Empreintes digitales, <xliff:g id="WATCH">%s</xliff:g> et visage ajoutés"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Déverr. par reconn. faciale et empreinte digitale"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Déverrouillage empreinte digitale &amp; et reconnaissance faciale"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Déverr. par reconn. faciale et empreinte digitale pour le travail"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuration requise"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Empreintes digitales et visage ajoutés"</string>
@@ -552,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"NIP • Visage"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Mot de passe • Visage"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continuer sans configurer déverr. par reconnaissance faciale"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Schéma • Visage • Empreinte digitale"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"NIP • Visage • Empreinte digitale"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Mot de passe • Visage • Empreinte digitale"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continuer sans reconnaissance faciale ni empreinte digitale"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continuer sans l\'empreinte digitale ou le visage"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Aucun"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Balayer l\'écran"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Schéma"</string>
@@ -1009,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Désactivée"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Afficher la balance des blancs"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Rester déverrouillé au pliage"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"L\'écran frontal demeure déverrouillé lorsqu\'il est plié (jusqu\'à la mise en veille de l\'écran)"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Affichage fluide"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Augmente automatiquement la fréquence d\'actualisation de 60 Hz à <xliff:g id="ID_1">%1$s</xliff:g> Hz pour certains contenus. Augmente l\'utilisation de la pile."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forcer la fréquence d\'actualisation de pointe"</string>
@@ -1479,18 +1471,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Utiliser un schéma pour déverr. l\'appareil"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Utiliser un NIP pour déverr. l\'appareil"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Utiliser un mot de passe pour déverr. l\'appareil"</string>
-    <!-- no translation found for lockpassword_confirm_repair_mode_pattern_header (6669435143987988314) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pin_header (2585263648322879131) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_password_header (3064676176428495228) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pattern_details (6187536224419477465) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pin_details (203022189107305807) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_password_details (4860219600771003873) -->
-    <skip />
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Vérifier le schéma"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"Vérifier le NIP"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Vérifier le mot de passe"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Entrez le schéma de l\'appareil pour continuer"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Entrez le NIP de l\'appareil pour continuer"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Entrez le mot de passe de l\'appareil pour continuer"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"NIP erroné"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Mot de passe incorrect"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Schéma erroné"</string>
@@ -1929,10 +1915,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"En savoir plus sur le bouton d\'accessibilité et les gestes"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Utilisez le bouton d\'accessibilité. Le geste n\'est pas proposé avec la navigation à trois boutons."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Accès rapide aux fonctionnalités d\'accessibilité"</string>
-    <!-- no translation found for accessibility_button_gesture_description (1141723096904904336) -->
-    <skip />
-    <!-- no translation found for accessibility_button_description (7669538706120092399) -->
-    <skip />
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Pour commencer&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Accédez aux paramètres d\'accessibilité&lt;br/&gt; {1,number,integer}. Sélectionnez une fonctionnalité et touchez le raccourci&lt;br/&gt; {2,number,integer}. Choisissez si vous voulez utiliser un bouton ou un geste pour accéder à la fonctionnalité&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Pour commencer&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Accédez aux paramètres d\'accessibilité&lt;br/&gt; {1,number,integer}. Sélectionnez une fonctionnalité et touchez le raccourci&lt;br/&gt; {2,number,integer}. Choisissez le bouton pour accéder à la fonctionnalité&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Utiliser le bouton ou le geste"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Position"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Taille"</string>
@@ -1988,15 +1972,15 @@
     <string name="accessibility_autoclick_shorter_desc" msgid="7631013255724544348">"Plus court"</string>
     <string name="accessibility_autoclick_longer_desc" msgid="2566025502981487443">"Plus long"</string>
     <string name="accessibility_autoclick_seekbar_desc" msgid="8363959277814621118">"Durée du clic automatique"</string>
-    <string name="accessibility_vibration_settings_title" msgid="936301142478631993">"Vibrations et rétroactions haptiques"</string>
+    <string name="accessibility_vibration_settings_title" msgid="936301142478631993">"Vibrations et effets tactils"</string>
     <string name="accessibility_vibration_settings_summary" msgid="3690308537483465527">"Contrôler la force des vibrations pour différentes utilisations"</string>
     <string name="accessibility_vibration_settings_state_on" msgid="5566026932372832502">"Activées"</string>
     <string name="accessibility_vibration_settings_state_off" msgid="7946588741954981703">"Désactivées"</string>
     <string name="accessibility_vibration_setting_disabled_for_silent_mode_summary" msgid="3982701772953323190">"Le paramètre est désactivé parce que l\'appareil est en mode silencieux"</string>
     <string name="accessibility_call_vibration_category_title" msgid="2545607568768192318">"Appels"</string>
     <string name="accessibility_notification_alarm_vibration_category_title" msgid="2683635252414849417">"Notifications et alarmes"</string>
-    <string name="accessibility_interactive_haptics_category_title" msgid="3162855291184592021">"Rétroactions haptiques interactives"</string>
-    <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Utiliser les vibrations et les rétroactions haptiques"</string>
+    <string name="accessibility_interactive_haptics_category_title" msgid="3162855291184592021">"Effets tactils interactifs"</string>
+    <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Utiliser les vibrations et les effets tactils"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibration pour les alarmes"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibration multimédia"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration pour la sonnerie"</string>
@@ -2329,7 +2313,7 @@
     <string name="battery_saver_turn_on_automatically_never" msgid="6194649389871448663">"Jamais"</string>
     <string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"à <xliff:g id="PERCENT">%1$s</xliff:g> d\'autonomie restante"</string>
     <string name="battery_percentage" msgid="1779934245963043490">"Pourcentage de charge de la pile"</string>
-    <string name="battery_percentage_description" msgid="2321465139126125541">"Afficher le pourcentage de charge de la pile dans la barre d\'état"</string>
+    <string name="battery_percentage_description" msgid="2321465139126125541">"Le pourcentage de charge de la pile s\'affiche dans la barre d\'état"</string>
     <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Niveau de la pile depuis la dernière recharge complète"</string>
     <string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Niveau de la pile, dernières 24 h"</string>
     <string name="battery_app_usage" msgid="8976453608783133770">"Utilisation des applications depuis la dernière charge complète"</string>
@@ -2950,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"épinglage d\'écran"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"défi professionnel, travail, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"profil professionnel, profil géré, unifier, unification, travail, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"activé, en veille, ne pas verrouiller, rester déverrouillé au pliage, pliage, en cours de fermeture, plié, fermeture, écran éteint"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestes"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"portefeuille"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"payer, toucher, paiements"</string>
@@ -2988,14 +2973,14 @@
     <string name="keywords_default_payment_app" msgid="5162298193637362104">"paiement, par défaut"</string>
     <string name="keywords_ambient_display" msgid="3149287105145443697">"notification entrante"</string>
     <string name="keywords_hotspot_tethering" msgid="3688439689671232627">"partage de connexion usb, partage de connexion bluetooth, partage de connexion wi-fi, fonction modem"</string>
-    <string name="keywords_accessibility_vibration_primary_switch" msgid="730692154347231253">"rétroactions haptiques, vibrer, vibration"</string>
+    <string name="keywords_accessibility_vibration_primary_switch" msgid="730692154347231253">"effets tactils, vibrer, vibration"</string>
     <string name="keywords_touch_vibration" msgid="1125291201902251273">"haptique, vibrer, écran, sensibilité"</string>
     <string name="keywords_ring_vibration" msgid="1736301626537417541">"haptique, vibration, téléphone, appel, sensibilité, sonnerie"</string>
     <string name="keywords_ramping_ringer_vibration" msgid="3678966746742257366">"haptique, vibration, téléphone, appel, sonnerie, graduellement"</string>
     <string name="keywords_notification_vibration" msgid="2620799301276142183">"haptique, vibration, sensibilité, notification"</string>
     <string name="keywords_alarm_vibration" msgid="4833220371621521817">"haptique, vibration, sensibilité, alarme"</string>
     <string name="keywords_media_vibration" msgid="723896490102792327">"haptique, vibration, sensibilité, multimédia"</string>
-    <string name="keywords_vibration" msgid="670455132028025952">"rétroactions haptiques, vibrer, vibration"</string>
+    <string name="keywords_vibration" msgid="670455132028025952">"effets tactils, vibrer, vibration"</string>
     <string name="keywords_battery_saver_sticky" msgid="1646191718840975110">"économiseur de pile, fixe, persistant, économie d\'énergie, pile"</string>
     <string name="keywords_battery_saver_schedule" msgid="8240483934368455930">"routine, horaire, économiseur de pile, économie d\'énergie, pile, automatique, pour cent"</string>
     <string name="keywords_enhance_4g_lte" msgid="658889360486800978">"volte, appels avancés, appels 4g"</string>
@@ -3505,10 +3490,8 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Désactivé"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Épinglage d\'application"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"L\'épinglage d\'application vous permet de garder l\'application actuelle en vue jusqu\'à ce que vous annuliez l\'épinglage. Cette fonctionnalité peut être utilisée, par exemple, pour laisser un ami de confiance jouer à un certain jeu."</string>
-    <!-- no translation found for screen_pinning_description (5822120806426139396) -->
-    <skip />
-    <!-- no translation found for screen_pinning_guest_user_description (2307270321127139579) -->
-    <skip />
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Lorsqu\'une application est épinglée, elle peut ouvrir d\'autres applications, et certaines données personnelles pourraient être accessibles. \n\nPour utiliser Épinglage d\'application : 	\n{0,number,integer}. Activez Épinglage d\'application 	\n{1,number,integer}. Ouvrez Aperçu 	\n{2,number,integer}. Touchez l\'icône de l\'application dans le haut de l\'écran, puis touchez Épingler"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Lorsqu\'une application est épinglée, elle peut ouvrir d\'autres applications, et certaines données personnelles pourraient être accessibles. \n\nSi vous souhaitez partager votre appareil de manière sécuritaire, essayez d\'utiliser un profil d\'utilisateur invité à la place. \n\nPour utiliser Épinglage d\'application : 	\n{0,number,integer}. Activez Épinglage d\'application 	\n{1,number,integer}. Ouvrez Aperçu 	\n{2,number,integer}. Touchez l\'icône de l\'application dans le haut de l\'écran, puis touchez Épingler"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Lorsqu\'une application est épinglée : \n\n•	 Certaines données personnelles pourraient être accessibles \n		(comme les contacts et le contenu des courriels) \n•	 L\'application épinglée peut ouvrir d\'autres applications \n\nUtilisez l\'épinglage d\'application uniquement avec les gens en qui vous avez confiance."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Demander le schéma de déverrouillage avant d\'annuler l\'épinglage"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Demander le NIP avant d\'annuler l\'épinglage"</string>
@@ -4173,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Activer ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Activer ANGLE en tant que pilote OpenGL ES du système"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Activer ANGLE en tant que pilote OpenGL ES par défaut. Activer cette fonction sur des appareils incompatibles peut compromettre le fonctionnement de certaines applications."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Un redémarrage est nécessaire pour modifier le pilote OpenGL ES du système"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Changements dans la compatibilité des applications"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Basculez les changements de compatibilité des applications"</string>
@@ -4346,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Non merci"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annuler"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Changer"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Désactiver"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Impossible d\'activer la carte SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Réessayer d\'activer la carte SIM. Si le problème persiste, redémarrez votre appareil."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activation du réseau"</string>
@@ -4720,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Désinstaller l\'application"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Applications installées au cours du dernier mois}one{Applications installées au cours du dernier (#) mois}other{Applications installées au cours des # derniers mois}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Applications installées il y a plus de # mois}one{Applications installées il y a plus de # mois}other{Applications installées il y a plus de # mois}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Applications suggérées"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Applications que vous avez remplacées"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Application par défaut"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Capteur d\'empreintes digitales"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notifications lumineuses"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"À propos des notifications lumineuses"</string>
@@ -4770,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activés"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Désactivée"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activée"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Le nom de votre appareil est visible aux applications que vous avez installées. Il est également possible que d\'autres personnes voient le nom de votre appareil lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Genre grammatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Sélectionnez un genre grammatical"</string>
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 5a43855..5bc9c51 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Déverrouillage par reconnaissance faciale et la <xliff:g id="WATCH">%s</xliff:g> ajouté"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Visage, empreinte digitale et <xliff:g id="WATCH">%s</xliff:g> ajoutés"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Visage, empreintes digitales et <xliff:g id="WATCH">%s</xliff:g> ajoutés"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Déverrouillage par reconnaissance faciale et empreinte digitale"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Déverrouillage par empreinte digitale et reconnaissance faciale"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Déverrouillage par reco. faciale et empreinte pour le travail"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuration requise"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Visage et empreintes digitales ajoutés"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"Code • Visage"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Mot de passe • Visage"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continuer sans déverrouillage par reconnaissance faciale"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Schéma • Visage • Empreinte digitale"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"Code • Visage • Empreinte digitale"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Mot de passe • Visage • Empreinte digitale"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continuer sans visage ni empreinte digitale"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continuer sans le déverrouillage par empreinte ou visage"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Aucun"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Balayage"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Schéma"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Désactivé"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balance des blancs de l\'écran"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Ne se verrouille pas si plié"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"L\'écran frontal reste déverrouillé lorsque l\'appareil est plié, jusqu\'à la mise en veille automatique de l\'écran"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Affichage fluide"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Augmente automatiquement la fréquence d\'actualisation de 60 à <xliff:g id="ID_1">%1$s</xliff:g> Hz pour certains contenus. Sollicite davantage la batterie."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forcer la fréquence d\'actualisation crête"</string>
@@ -1316,7 +1315,7 @@
     <string name="tether_settings_summary_hotspot_on_tether_on" msgid="6110241048260139633">"Point d\'accès activé, partage de connexion"</string>
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"Point d\'accès activé"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"Partage de connexion"</string>
-    <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Impossible de partager la connexion ou d\'utiliser des points d\'accès mobiles lorsque la sauvegarde des données est activée"</string>
+    <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"Impossible de partager la connexion ou d\'utiliser des points d\'accès mobiles lorsque la fonction Économiseur de données est activée"</string>
     <string name="tether_settings_summary_hotspot_only" msgid="8529008147731140279">"Point d\'accès uniquement"</string>
     <string name="tether_settings_summary_usb_tethering_only" msgid="6351624505239356221">"USB uniquement"</string>
     <string name="tether_settings_summary_bluetooth_tethering_only" msgid="1451008625343274930">"Bluetooth uniquement"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"épinglage d\'écran"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"verrouillage profil pro, professionnel, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"profil professionnel, profil géré, unifier, unification, professionnel, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"activé, veille, ne pas verrouiller, ne se verrouille pas si plié, plier, fermer, plier, fermer, écran éteint"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestes"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"portefeuille"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"payer, appuyer, paiements"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Activer ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Activer ANGLE comme pilote OpenGL ES système"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Activer ANGLE comme pilote OpenGL ES par défaut Son activation sur des appareils incompatibles peut endommager certaines applications."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Un redémarrage est nécessaire pour modifier le pilote OpenGL ES système"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Changement de compatibilité des applications"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activer/Désactiver les changements de compatibilité des applications"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Non, merci"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annuler"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Changer"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Désactiver"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Impossible d\'activer la carte SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Essayez à nouveau d\'activer la carte SIM. Si le problème persiste, redémarrez l\'appareil."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activation du réseau"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Désinstaller l\'appli"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Applis installées depuis # mois}one{Applis installées depuis # mois}other{Applis installées depuis # mois}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Applis installées il y a plus de # mois}one{Applis installées il y a plus de # mois}other{Applis installées il y a plus de # mois}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Applis suggérées"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Applis que vous avez ignorées"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Paramètre par défaut de l\'appli"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Lecteur d\'empreinte digitale"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notifications avec flash"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"À propos des notifications avec flash"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activé"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Désactivés"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activés"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Les applis que vous avez installées ont accès au nom de votre appareil. D\'autres personnes peuvent aussi le voir lorsque vous vous connectez à des appareils Bluetooth ou à un réseau Wi-Fi, ou lorsque vous configurez un point d\'accès Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Genre grammatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Sélectionner le genre grammatical"</string>
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 5efd034..2921fe3 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Engadíronse o recoñecemento facial e o dispositivo (<xliff:g id="WATCH">%s</xliff:g>)"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Engadíronse o recoñecemento facial, a impresión dixital e o dispositivo (<xliff:g id="WATCH">%s</xliff:g>)"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Engadíronse o recoñecemento facial, as impresións dixitais e o dispositivo (<xliff:g id="WATCH">%s</xliff:g>)"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueo facial e dactilar"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impresión dixital e desbloqueo facial"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueo dactilar e facial para o traballo"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Cómpre realizar o proceso de configuración"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Engadíronse a cara e as impresións dixitais"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Cara"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Contrasinal • Cara"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continuar sen desbloqueo facial"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Padrón • Cara • Impresión dixital"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Cara • Impresión dixital"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Contrasinal • Cara • Impresión dixital"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continuar sen desbloqueo facial e sen impresión dixital"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continuar sen impresión dixital nin desbloqueo facial"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ningún"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Pasa o dedo"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Padrón"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desactivado"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balance de brancos da pantalla"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Deixar desbloqueado ao pregar"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Mantén a pantalla frontal desbloqueada cando o dispositivo estea pregado ata que se esgote o tempo de espera da pantalla"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Pantalla fluída"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Incrementa automaticamente a frecuencia de actualización de 60 a <xliff:g id="ID_1">%1$s</xliff:g> Hz en determinados tipos de contido. Aumenta o uso da batería."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forzar taxa de actualización máxima"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"fixación de pantalla"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"desafío de traballo, traballo, perfil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"perfil de traballo, perfil xestionado, agrupar, agrupación traballo, perfil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"activar, suspender, non bloquear, manter desbloqueado ao pregar, pregando, pechando, pregar, pechar, pantalla inactiva"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"xestos"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"moedeiro"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagos"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Activar ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Activa ANGLE como controlador do OpenGL ES do sistema"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Activa ANGLE como controlador OpenGL ES predeterminado. Se o fas en dispositivos non compatibles, pode que algunhas aplicacións non funcionen."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Cómpre reiniciar o dispositivo para cambiar o controlador do OpenGL ES do sistema"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Cambios na compatibilidade das aplicacións"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activa/desactiva os cambios de compatibilidade das aplicacións"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Non, grazas"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Cambiar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desactivar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Non se puido activar a SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Tenta activar a SIM de novo. Se o problema persiste, reinicia o dispositivo."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activación da rede"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Desinstalar aplicación"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplicacións instaladas no último mes}other{Aplicacións instaladas nos últimos # meses}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplicacións instaladas hai máis de # mes}other{Aplicacións instaladas hai máis de # meses}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Aplicacións recomendadas"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplicacións que ignoraches"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Opción predeterminada da aplicación"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensor de impresión dixital"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notificacións con luz"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Acerca das notificacións con luz"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Opción activada"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Opción desactivada"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Opción activada"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"As aplicacións que teñas instaladas poderán consultar o nome do teu dispositivo. Tamén poderán velo outros usuarios cando te conectes a dispositivos Bluetooth ou a redes wifi, así como cando configures zonas wifi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Xénero gramatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Seleccionar o xénero gramatical"</string>
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index 3cdad69..e481bc7 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ફેસ અને <xliff:g id="WATCH">%s</xliff:g> ઉમેર્યા"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ફેસ, ફિંગરપ્રિન્ટ અને <xliff:g id="WATCH">%s</xliff:g> ઉમેર્યા"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ફેસ, ફિંગરપ્રિન્ટ અને <xliff:g id="WATCH">%s</xliff:g> ઉમેર્યા"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉક સુવિધા"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ફિંગરપ્રિન્ટ અને ફેસ અનલૉક"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ઑફિસની પ્રોફાઇલ માટે ફેસ અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધા"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"સેટઅપ જરૂરી છે"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ચહેરાનું મૉડલ અને એકથી વધુ ફિંગરપ્રિન્ટ ઉમેરી"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"પિન • ફેસ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"પાસવર્ડ • ફેસ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ફેસ અનલૉક વિના ચાલુ રાખો"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"પૅટર્ન • ફેસ • ફિંગરપ્રિન્ટ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"પિન • ફેસ • ફિંગરપ્રિન્ટ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"પાસવર્ડ • ફેસ • ફિંગરપ્રિન્ટ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ફેસ અનલૉક કે ફિંગરપ્રિન્ટ વિના આગળ વધો"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ફિંગરપ્રિન્ટ અથવા ચહેરા વિના ચાલુ રાખો"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"કોઈ નહીં"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"સ્વાઇપ કરો"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"પૅટર્ન"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"બંધ"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"વ્હાઇટ બૅલેન્સ ડિસ્પ્લે"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ફોલ્ડ પર અનલૉક કરેલું રાખો"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"જ્યારે ફોલ્ડ કરેલું હોય ત્યારે સ્ક્રીનના સમાપ્તિ સમય સુધી ફ્રન્ટ ડિસ્પ્લેને અનલૉક કરેલું રાખો"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"અમુક કન્ટેન્ટ માટે રિફ્રેશ થવાનો રેટ ઑટોમૅટિક રીતે 60થી વધારીને <xliff:g id="ID_1">%1$s</xliff:g> Hz કરે છે. બૅટરીના વપરાશમાં વધારો કરે છે."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"રિફ્રેશ થવાનો રેટ ફરજિયાત પણે મહત્તમ લેવલે કરો"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"સ્ક્રીન પિનિંગ"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"કાર્ય પડકાર, કાર્ય, પ્રોફાઇલ"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"કાર્યાલયની પ્રોફાઇલ, મેનેજ થયેલ પ્રોફાઇલ, એકીકૃત કરો, એકીકરણ, કાર્ય, પ્રોફાઇલ"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"સક્રિય કરવું, નિષ્ક્રિય કરવું, લૉક ન કરવું, ફોલ્ડ હોવા પર અનલૉક કરેલું રાખવું, ફોલ્ડ કરવું, બંધ કરવું, ફોલ્ડ કરો, બંધ કરો, સ્ક્રીન બંધ કરવી"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"સંકેતો"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"વૉલેટ"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ચુકવણી કરો, ટૅપ કરો, ચુકવણીઓ"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE ચાલુ કરો"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLEને સિસ્ટમ OpenGL ES ડ્રાઇવર તરીકે ચાલુ કરો"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLEને ડિફૉલ્ટ OpenGL ES ડ્રાઇવર તરીકે ચાલુ કરો. તેને અસંગત ડિવાઇસ પર ચાલુ કરવાથી કેટલીક ઍપ્લિકેશનો બ્રેક થઈ શકે છે."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"સિસ્ટમ OpenGL ES ડ્રાઇવરને બદલવા માટે રીબૂટ કરવું જરૂરી છે"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ઍપની સુસંગતતામાં ફેરફારો"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ઍપ સુસંગતતાના ફેરફારો ટૉગલ કરો"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ના, આભાર"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"રદ કરો"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"સ્વિચ કરો"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"બંધ કરો"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"સિમ કાર્ડ સક્રિય કરી શકાતું નથી"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"સિમ કાર્ડ ફરીથી ચાલુ કરવાનો પ્રયાસ કરો. તેમ છતાં સમસ્યા આવે, તો તમારું ડિવાઇસ ફરી શરૂ કરો."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"નેટવર્કનું સક્રિયકરણ"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ઍપ અનઇન્સ્ટૉલ કરો"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{છેલ્લા # મહિનામાં ઇન્સ્ટૉલ કરેલી ઍપ}one{છેલ્લા # મહિનામાં ઇન્સ્ટૉલ કરેલી ઍપ}other{છેલ્લા # મહિનામાં ઇન્સ્ટૉલ કરેલી ઍપ}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# મહિના કરતાં વધુ સમય પહેલાં ઇન્સ્ટૉલ કરેલી ઍપ}one{# મહિના કરતાં વધુ સમય પહેલાં ઇન્સ્ટૉલ કરેલી ઍપ}other{# મહિના કરતાં વધુ સમય પહેલાં ઇન્સ્ટૉલ કરેલી ઍપ}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"સાપેક્ષ ગુણોત્તર"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"જો આ ઍપ તમારા <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ને અનુરૂપ ડિઝાઇન કરેલી ન હોય, તો તેને જોવા માટે કોઈ સાપેક્ષ ગુણોત્તર પસંદ કરો"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"સૂચવેલી ઍપ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"તમે ઓવરરાઇડ કરેલી ઍપ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ઍપ ડિફૉલ્ટ"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"પૂર્ણ સ્ક્રીન"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"અડધી સ્ક્રીન"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"ડિવાઇસનો સાપેક્ષ ગુણોત્તર"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"જ્યારે તમે સાપેક્ષ ગુણોત્તરમાં ફેરફાર કરશો ત્યારે ઍપ ફરી શરૂ થશે. તમે સાચવ્યા ન હોય એવા ફેરફારો ગુમાવો એમ બને."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"ફિંગરપ્રિન્ટ સેન્સર"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ફ્લૅશ નોટિફિકેશન"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ફ્લૅશ નોટિફિકેશન વિશે"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ચાલુ"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"બંધ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ચાલુ"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"તમે ઇન્સ્ટૉલ કરેલી ઍપ તમારા ડિવાઇસનું નામ જોઈ શકે છે. જ્યારે તમે બ્લૂટૂથ ડિવાઇસથી કનેક્ટ કરો, કોઈ વાઇ-ફાઇ નેટવર્કથી કનેક્ટ કરો અથવા કોઈ વાઇ-ફાઇ હૉટસ્પૉટ સેટઅપ કરો ત્યારે અન્ય લોકો પણ તે જોઈ શકે છે."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"વ્યાકરણ અનુસારનું લિંગ"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"વ્યાકરણ અનુસારનું લિંગ પસંદ કરો"</string>
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index e54d52c..6d7c93c 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"चेहरा और <xliff:g id="WATCH">%s</xliff:g> सेट अप की गई"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"चेहरा, फ़िंगरप्रिंट, और <xliff:g id="WATCH">%s</xliff:g> सेट अप की गई"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"चेहरा, फ़िंगरप्रिंट, और <xliff:g id="WATCH">%s</xliff:g> सेट अप की गई"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"फ़िंगरप्रिंट और फ़ेस अनलॉक"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"फ़िंगरप्रिंट और फ़ेस अनलॉक"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"वर्क प्रोफ़ाइल के लिए, फ़ेस और फ़िंगरप्रिंट अनलॉक की सुविधा"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप करना होगा"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"चेहरे का मॉडल और फ़िंगरप्रिंट जोड़े गए"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"पिन • फ़ेस अनलॉक"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"पासवर्ड • फ़ेस अनलॉक"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"फ़ेस अनलॉक की सुविधा सेट अप किए बिना जारी रखें"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"पैटर्न • फ़ेस अनलॉक • फ़िंगरप्रिंट"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"पिन • फ़ेस अनलॉक • फ़िंगरप्रिंट"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"पासवर्ड • फ़ेस अनलॉक • फ़िंगरप्रिंट"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"फ़िंगरप्रिंट या फ़ेस अनलॉक सेट अप किए बिना आगे बढ़ें"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"फ़िंगरप्रिंट या फ़ेस अनलॉक सुविधा के बिना आगे बढ़ें"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"कोई नहीं"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"स्वाइप"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"पैटर्न"</string>
@@ -914,7 +911,7 @@
     <string name="wifi_hotspot_speed_summary_6g" msgid="8863992901226595544">"6 GHz / यह सुविधा कुछ डिवाइसों के साथ काम करती है"</string>
     <string name="wifi_hotspot_speed_summary_2g_and_5g" msgid="5931052946168943750">"2.4 और 5 GHz / यह सुविधा ज़्यादातर डिवाइसों के साथ काम करती है"</string>
     <string name="wifi_hotspot_speed_intro" msgid="6973482196363758925">"अपने हॉटस्पॉट के लिए कोई फ़्रीक्वेंसी चुनें. कनेक्शन की स्पीड और आपके हॉटस्पॉट को किस तरह के डिवाइस ढूंढ सकते हैं, इन दोनों बातों पर फ़्रीक्वेंसी का असर पड़ता है."</string>
-    <string name="wifi_hotspot_speed_category" msgid="5265655850463630286">"अपनी पसंद की फ़्रीक्वेंसी"</string>
+    <string name="wifi_hotspot_speed_category" msgid="5265655850463630286">"अपनी पसंद की फ़्रीक्वेंसी चुनें"</string>
     <string name="wifi_hotspot_speed_2g" msgid="3400600834257664480">"2.4 गीगाहर्ट्ज़"</string>
     <string name="wifi_hotspot_speed_2g_summary" msgid="6930273933810520155">"वाई-फ़ाई हॉटस्पॉट की धीमी स्पीड. यह सुविधा ज़्यादातर डिवाइसों के साथ काम करती है."</string>
     <string name="wifi_hotspot_speed_5g" msgid="4058116867148848395">"5 गीगाहर्ट्ज़"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"बंद"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"डिसप्ले का वाइट बैलेंस"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"फ़ोल्ड करने पर अनलॉक रहें"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"डिवाइस को फ़ोल्ड किए जाने पर, स्क्रीन के बंद होने तक फ़्रंट डिसप्ले को अनलॉक रखें"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"स्मूद डिसप्ले"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"कुछ कॉन्टेंट के लिए, यह अपने-आप ही रीफ़्रेश दर को 60 से बढ़ाकर <xliff:g id="ID_1">%1$s</xliff:g> हर्ट्ज़ कर देता है. इसे चालू करने पर, बैटरी ज़्यादा खर्च होती है."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"रीफ़्रेश दर को सबसे ज़्यादा पर सेट करें"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"स्क्रीन पिन करना"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"काम की चुनौती, काम, प्रोफ़ाइल"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"वर्क प्रोफ़ाइल, प्रबंधित प्रोफ़ाइल, एक करना, एकीकरण, काम, प्रोफ़ाइल"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"जागना, सोना, लॉक न करना, फ़ोल्ड होने पर अनलॉक रहना, फ़ोल्ड करना, बंद करना, फ़ोल्ड, बंद करें, स्क्रीन बंद करें"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"जेस्चर"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"भुगतान करें, टैप करें, भुगतान"</string>
@@ -4039,7 +4039,7 @@
     <string name="blocked_by_restricted_settings_title" msgid="7334715011474037399">"प्रतिबंधित सेटिंग"</string>
     <string name="toast_allows_restricted_settings_successfully" msgid="1219116121291466102">"<xliff:g id="APP_NAME">%s</xliff:g> के लिए पाबंदी वाली सेटिंग की अनुमति दी गई"</string>
     <string name="blocked_by_restricted_settings_content" msgid="3628660029601161080">"आपकी सुरक्षा के लिए, यह सेटिंग फ़िलहाल उपलब्ध नहीं है."</string>
-    <string name="financed_privacy_settings" msgid="2575114436197204145">"फ़ाइनैंस किए गए डिवाइस की जानकारी"</string>
+    <string name="financed_privacy_settings" msgid="2575114436197204145">"फ़ाइनेंस किए गए डिवाइस की जानकारी"</string>
     <string name="financed_privacy_intro" msgid="7836497475568741579">"क्रेडिट सेवा देने वाली कंपनी, डिवाइस के सेट अप के दौरान उसकी सेटिंग में बदलाव कर सकती है और उस पर सॉफ़्टवेयर इंस्टॉल कर सकती है.\n\nअगर आपसे कोई पेमेंट छूट जाता है, तो क्रेडिट सेवा देने वाली कंपनी आपका डिवाइस लॉक कर सकती है और उसकी सेटिंग में बदलाव कर सकती है.\n\nज़्यादा जानने के लिए, क्रेडिट सेवा देने वाली कंपनी से संपर्क करें."</string>
     <string name="financed_privacy_restrictions_category" msgid="2472659467919651602">"डिवाइस को फ़ाइनैंस किया गया है, तो ये काम नहीं किए जा सकते:"</string>
     <string name="financed_privacy_install_apps" msgid="7381718005710210851">"Play Store के बाहर से ऐप्लिकेशन इंस्टॉल करना"</string>
@@ -4059,7 +4059,7 @@
     <string name="financed_privacy_fully_paid_category" msgid="9221763928564246923">"पूरी रकम देने के बाद:"</string>
     <string name="financed_privacy_restrictions_removed" msgid="3182636815294595072">"डिवाइस से सभी पाबंदियों को हटा दिया जाता है"</string>
     <string name="financed_privacy_uninstall_creditor_app" msgid="6339004120497310705">"क्रेडिटर के ऐप्लिकेशन को अनइंस्टॉल किया जा सकता है"</string>
-    <string name="financed_device_info" msgid="3871860346697308342">"फ़ाइनैंस किए गए डिवाइस की जानकारी"</string>
+    <string name="financed_device_info" msgid="3871860346697308342">"फ़ाइनेंस किए गए डिवाइस की जानकारी"</string>
     <string name="default_camera_app_title" msgid="6546248868519965998">"{count,plural, =1{कैमरा ऐप्लिकेशन}one{कैमरा ऐप्लिकेशन}other{कैमरा ऐप्लिकेशन}}"</string>
     <string name="default_calendar_app_title" msgid="1870095225089706093">"Calendar ऐप्लिकेशन"</string>
     <string name="default_contacts_app_title" msgid="7740028900741944569">"संपर्क ऐप्लिकेशन"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE चालू करें"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"सिस्टम के OpenGL ES ड्राइवर के तौर पर ANGLE को चालू करें"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE को OpenGL ES के डिफ़ॉल्ट ड्राइवर के तौर पर चालू करें. इसे ऐसे डिवाइसों पर चालू करने से कुछ ऐप्लिकेशन क्रैश हो सकते हैं जिन पर यह सुविधा काम नहीं करती."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"सिस्टम के OpenGL ES ड्राइवर को बदलने के लिए, डिवाइस को फिर से चालू करना होगा"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"काम करने के लिए ऐप्लिकेशन में किए गए बदलाव"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"काम करने के लिए ऐप्लिकेशन में किए गए बदलावों को टॉगल करें"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"रहने दें"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"रद्द करें"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"स्‍विच करें"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"बंद करें"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"सिम चालू नहीं किया जा सका"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"सिम दोबारा चालू करने की कोशिश करें. अगर तब भी समस्या ठीक नहीं होती, तो डिवाइस को रीस्टार्ट करें."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"नेटवर्क चालू करना"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ऐप्लिकेशन अनइंस्टॉल करें"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{पिछले # महीने में इंस्टॉल किए गए ऐप्लिकेशन}one{पिछले # महीने में इंस्टॉल किए गए ऐप्लिकेशन}other{पिछले # महीनों में इंस्टॉल किए गए ऐप्लिकेशन}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{ऐप्लिकेशन, # महीने से भी पहले इंस्टॉल किए गए}one{ऐप्लिकेशन, # महीने से भी पहले इंस्टॉल किए गए}other{ऐप्लिकेशन, # महीने से भी पहले इंस्टॉल किए गए}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"सुझाए गए ऐप्लिकेशन"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"वे ऐप्लिकेशन जिन्हें आपने ओवरराइड किया है"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ऐप्लिकेशन का डिफ़ॉल्ट आसपेक्ट रेशियो"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"फ़िंगरप्रिंट सेंसर"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"फ़्लैश के साथ मिलने वाली सूचनाएं"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"फ़्लैश के साथ मिलने वाली सूचनाओं की जानकारी"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"चालू है"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"बंद है"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"चालू है"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"आपके इंस्टॉल किए गए ऐप्लिकेशन, आपके डिवाइस के नाम की जानकारी ऐक्सेस कर सकते हैं. इसके अलावा, ब्लूटूथ डिवाइसों या वाई-फ़ाई नेटवर्क से कनेक्ट करने पर या वाई-फ़ाई हॉटस्पॉट सेट अप करने पर, अन्य लोग भी इसे देख सकते हैं."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"व्याकरण के हिसाब से लिंग"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"व्याकरण के हिसाब से लिंग चुनें"</string>
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index 90a7050..d6a99f9 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -286,7 +286,7 @@
     <string name="security_settings_face_enroll_education_start" msgid="8830924400907195590">"Započnite"</string>
     <string name="security_settings_face_enroll_education_accessibility_dialog_message" msgid="2965952386172202665">"Ako je otključavanje licem za pristupačnost isključeno, neki koraci za postavljanje možda neće pravilno funkcionirati s TalkBackom."</string>
     <string name="security_settings_face_enroll_education_accessibility_dialog_negative" msgid="7872647360361245461">"Natrag"</string>
-    <string name="security_settings_face_enroll_education_accessibility_dialog_positive" msgid="3148077647572203458">"Nastavi postavljanje"</string>
+    <string name="security_settings_face_enroll_education_accessibility_dialog_positive" msgid="3148077647572203458">"Nastavi s postavljanjem"</string>
     <string name="security_settings_face_enroll_introduction_accessibility" msgid="5748221179069430975">"Koristi postav. za pristupačnost"</string>
     <string name="security_settings_face_enroll_introduction_accessibility_diversity" msgid="2774962371839179206"></string>
     <string name="security_settings_face_enroll_introduction_accessibility_vision" msgid="7700394302162170363"></string>
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodano je lice i sat <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodani su lice, otisak prsta i sat <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodani su lice, otisci prstiju i sat <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Otključavanje licem i otiskom prsta"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Otisak prsta i otključavanje licem"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Otključavanje licem i otiskom prsta za posao"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Potrebno je postavljanje"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Dodano je lice i otisci prsta"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • lice"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Zaporka • lice"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Nastavite bez otključavanja licem"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Uzorak • lice • otisak prsta"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • lice • otisak prsta"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Zaporka • lice • otisak prsta"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Nastavite bez otključavanja licem ili otiskom prsta"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Nastavi bez otiska prsta ili prepoznavanja lica"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ništa"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Prelazak prstom"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Uzorak"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Isključeno"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Prikaz balansa bijele boje"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Ostavi otključan po sklapanju"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Kad se uređaj sklopi, neka prednji zaslon ostane otključan do automatskog isključivanja zaslona"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Glatki prikaz"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatski povećava učestalost osvježavanja sa 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Prisilna maksimalna učestalost osvježavanja"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"prikačivanje zaslona"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"poslovni izazov, poslovni, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"poslovni profil, upravljani profil, objediniti, objedinjavanje, poslovni, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"aktivan, u mirovanju, ne zaključavaj, ostavi otključan pri sklapanju, sklapanje, zatvaranje, sklopiti, zatvoriti, isključiti zaslon"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"pokreti"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"novčanik"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"plati, dodir, plaćanja"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Omogući ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Omogućuje ANGLE kao upravljački program sistemskog ES OpenGL-a"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Omogućite ANGLE kao zadani upravljački program ES OpenGL-a Njegovo omogućivanje na nekompatibilnim uređajima može dovesti do poteškoća s nekim aplikacijama."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Potrebno je ponovno pokretanje za promjenu upravljačkog programa sistemskog ES OpenGL-a"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Promjene kompatibilnosti aplikacije"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Prebacivanje promjena kompatibilnosti aplikacije"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, hvala"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Odustani"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Prebaci"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Isključi"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM se ne može aktivirati"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Pokušajte ponovo uključiti SIM. Ako se problem ponovi, ponovo pokrenite uređaj."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivacija mreže"</string>
@@ -4704,6 +4705,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Deinstaliraj aplikaciju"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplikacije instalirane u posljednji # mjesec}one{Aplikacije instalirane u posljednji # mjesec}few{Aplikacije instalirane u posljednja # mjeseca}other{Aplikacije instalirane u posljednjih # mjeseci}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplikacije instalirane prije više od # mjeseca}one{Aplikacije instalirane prije više od # mjeseca}few{Aplikacije instalirane prije više od # mjeseca}other{Aplikacije instalirane prije više od # mjeseci}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Predložene aplikacije"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplikacije koje ste nadjačali"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Zadano za aplikaciju"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Senzor otiska prsta"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Bljeskajuće obavijesti"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"O bljeskajućim obavijestima"</string>
@@ -4754,4 +4773,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Uključeno"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Isključeno"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Uključeno"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Naziv vašeg uređaja vidljiv je aplikacijama koje ste instalirali. Mogu ga vidjeti i drugi ljudi kada se povežete s Bluetooth uređajima ili Wi-Fi mrežom ili postavite Wi-Fi žarišnu točku."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatički rod"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Odaberite gramatički rod"</string>
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index e617f51..2767163 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Arc és <xliff:g id="WATCH">%s</xliff:g> hozzáadva"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Arc, ujjlenyomat és <xliff:g id="WATCH">%s</xliff:g> hozzáadva"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Arc, ujjlenyomatok és <xliff:g id="WATCH">%s</xliff:g> hozzáadva"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Arc- és ujjlenyomat-alapú feloldás"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Feloldás ujjlenyomattal és Arcalapú feloldás"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Arc- és ujjlenyomat-alapú feloldás a munkaprofilban"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Beállítás szükséges"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Arc és ujjlenyomatok hozzáadva"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN-kód • Arc"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Jelszó • Arc"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Folytatás Arcalapú feloldás nélkül"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Minta • Arc • Ujjlenyomat"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN-kód • Arc • Ujjlenyomat"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Jelszó • Arc • Ujjlenyomat"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Folytatás arc- vagy ujjlenyomat-alapú feloldás nélkül"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Folytatás ujjlenyomat vagy arc nélkül"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Nincs"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Csúsztatás"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Minta"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kikapcsolva"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Kijelző fehéregyensúlya"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Összehajtva feloldva marad"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Összehajtva az előlapi kijelző a képernyő időkorlátjáig feloldva marad"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Néhány tartalomnál automatikusan megemeli a frissítési gyakoriságot 60-ról <xliff:g id="ID_1">%1$s</xliff:g> Hz-re. Növeli az akkumulátorhasználatot."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Legmagasabb frissítési gyakoriság kényszerítése"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"képernyő rögzítése"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"munkahelyi kihívás, munka, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"munkaprofil, felügyelt profil, egyesít, egyesítés, munka, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ébren, alvás, ne zárjon le, összehajtva maradjon feloldva, összehajtás, bezárás, összehajt, bezár, képernyő kikapcsolva"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"kézmozdulatok"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"fizetés, koppintás, kifizetések"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Az ANGLE engedélyezése"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Az ANGLE engedélyezése a rendszer OpenGL ES illesztőprogramjaként"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Az ANGLE engedélyezése alapértelmezett OpenGL ES-illesztőprogramként. Ha nem kompatibilis eszközökön engedélyezi, az egyes alkalmazások működésképtelenné válhatnak."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Újraindítás szükséges a rendszer OpenGL ES illesztőprogramjának módosításához"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Az alkalmazás kompatibilitási változtatásai"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Az alkalmazás kompatibilitási változtatásainak be- és kikapcsolása"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Köszönöm, nem"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Mégse"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Váltás"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Kikapcsolás"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nem sikerült a SIM aktiválása"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Próbálkozzon meg újra a SIM bekapcsolásával. Ha a probléma továbbra is fennáll, indítsa újra az eszközt."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Hálózat aktiválása"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Alkalmazás eltávolítása"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Az elmúlt # hónapban telepített alkalmazások}other{Az elmúlt # hónapban telepített alkalmazások}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Az alkalmazások # hónapnál régebben lettek telepítve}other{Az alkalmazások # hónapnál régebben lettek telepítve}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Javasolt alkalmazások"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Ön által felülírt alkalmazások"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Alkalmazás alapértelmezett értéke"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Ujjlenyomat-érzékelő"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Villogó értesítések"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"A villogó értesítésekről"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Be"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Ki"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Be"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Eszköze neve látható a telepített alkalmazások számára. Mások is láthatják, ha csatlakoztatja telefonját más Bluetooth-eszközökhöz, Wi-Fi-hálózathoz, vagy ha Wi-Fi-hotspotot állít be."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Nyelvtani nem"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Nyelvtani nem kiválasztása"</string>
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index c3682cd..fd7d343 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Դեմքով և ժամացույցով (<xliff:g id="WATCH">%s</xliff:g>) ապակողպումը կարգավորված է"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Դեմքով, մատնահետքով և ժամացույցով (<xliff:g id="WATCH">%s</xliff:g>) ապակողպումը կարգավորված է"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Դեմքով, մատնահետքերով և ժամացույցով (<xliff:g id="WATCH">%s</xliff:g>) ապակողպումը կարգավորված է"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Դեմքով և մատնահետքով ապա­կողպում"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Մատնահետքով և դեմքով ապակողպում"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Դեմքով և մատնահետքով ապակողպում աշխատանքի համար"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Պահանջվում է կարգավորում"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Դեմքի և մատնահետքի նմուշներն ավելացվեցին"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Դեմք"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Գաղտնաբառ • Դեմք"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Շարունակել առանց դեմքով ապակողպման"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Նախշ • Դեմք • Մատնահետք"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Դեմք • Մատնահետք"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Գաղտնաբառ • Դեմք • Մատնահետք"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Շարունակել առանց դեմքով կամ մատնահետքով կողպման"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Շարունակել առանց մատնահետքով կամ դեմքով ապակողպման"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ոչ մեկը"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Սահեցնել"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Նախշ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Անջատված է"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Էկրանի սպիտակի բալանս"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Չկողպել ծալված սարքում"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Երբ սարքը ծալված է, առջևի էկրանը թողնել ապակողպված մինչև էկրանի անջատման ժամանակը"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Սահուն պատկեր"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Որոշակի բովանդակության համար թարմացման հաճախականությունը 60-ից կդառնա <xliff:g id="ID_1">%1$s</xliff:g> Հց։ Մարտկոցի լիցքն ավելի արագ է սպառվում։"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Պարտադիր թարմացման առավելագույն հաճախականությունը"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ամրացում էկրանին"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"աշխատանքային մարտահրավեր, աշխատանք, պրոֆիլ"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"աշխատանքային պրոֆիլ, կառավարվող պրոֆիլ, միավորել, միավորում, աշխատանք, պրոֆիլ"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"արթուն, քուն, չկողպել, ծալված սարքում թողնել ապակողպված, ծալում, փակում, ծալել, փակել, անջատված էկրան"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ժեստեր"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"վճարել, հպել, վճարումներ"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Միացնել ANGLE-ը"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Միացնել ANGLE-ը որպես համակարգի OpenGL ES սարքավար"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Միացնել ANGLE-ը որպես կանխադրված OpenGL ES սարքավար։ Սարքավարը չաջակցվող սարքերում միացնելու դեպքում որոշ հավելվածների աշխատանքը կարող է խափանվել։"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Համակարգի OpenGL ES սարքավարը փոխելու համար պահանջվում է վերաբեռնում"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Հավելվածների համատեղելիության փոփոխություններ"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Թաքցնել/ցուցադրել հավելվածների համատեղելիության փոփոխությունները"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ոչ, շնորհակալություն"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Չեղարկել"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Անցնել"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Անջատել"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Չհաջողվեց ակտիվացնել SIM քարտը"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Փորձեք նորից միացնել SIM քարտը։ Եթե խնդիրը չվերանա, վերագործարկեք սարքը։"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ցանցի ակտիվացում"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Ապատեղադրել հավելվածը"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Հավելվածներ, որոնք տեղադրվել են վերջին # ամսվա ընթացքում}one{Հավելվածներ, որոնք տեղադրվել են վերջին # ամսվա ընթացքում}other{Հավելվածներ, որոնք տեղադրվել են վերջին # ամսվա ընթացքում}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Հավելվածներ, որոնք տեղադրվել են ավելի քան # ամիս առաջ}one{Հավելվածներ, որոնք տեղադրվել են ավելի քան # ամիս առաջ}other{Հավելվածներ, որոնք տեղադրվել են ավելի քան # ամիս առաջ}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Առաջարկվող հավելվածներ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Հավելվածներ, որոնց կողմերի հարաբերակցությունը փոխարինել եք"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Հավելվածի կանխադրված տարբերակ"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Մատնահետքերի սկաներ"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Թարթող ծանուցումներ"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Թարթող ծանուցումների մասին"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Միացված է"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Անջատված է"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Միացված է"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Ձեր սարքի անունը տեսանելի է ձեր տեղադրած հավելվածներին։ Այն կարող են տեսնել օգտատերերը, երբ միանում եք Bluetooth սարքերի, Wi-Fi ցանցի, կամ կարգավորում եք Wi-Fi թեժ կետ։"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Քերականական սեռ"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Ընտրեք քերականական սեռը"</string>
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index 40450fa..aeb2be9 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Wajah dan <xliff:g id="WATCH">%s</xliff:g> ditambahkan"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Wajah, sidik jari, dan <xliff:g id="WATCH">%s</xliff:g> ditambahkan"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Wajah, sidik jari, dan <xliff:g id="WATCH">%s</xliff:g> ditambahkan"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Buka dengan Wajah &amp; Sidik Jari"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Buka dengan Sidik Jari &amp; Wajah"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Buka dengan Wajah &amp; Sidik Jari untuk profil kerja"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Penyiapan diperlukan"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Wajah dan sidik jari ditambahkan"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Wajah"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Sandi • Wajah"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Lanjutkan tanpa Buka dengan Wajah"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Pola • Wajah • Sidik jari"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Wajah • Sidik jari"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Sandi • Wajah • Sidik jari"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Lanjutkan tanpa wajah atau sidik jari"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Lanjutkan tanpa sidik jari atau wajah"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Tidak ada"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Geser"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pola"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Nonaktif"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"White balance layar"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Tetap buka kunci saat terlipat"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Biarkan kunci layar depan tetap terbuka saat terlipat sampai waktu tunggu layar habis"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Otomatis meningkatkan kecepatan refresh dari 60 menjadi <xliff:g id="ID_1">%1$s</xliff:g> Hz untuk beberapa konten. Meningkatkan penggunaan baterai."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Paksa kecepatan refresh tertinggi"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"sematkan ke layar"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"tantangan kerja, kerja, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"profil kerja, profil yang dikelola, menyatukan, penyatuan, kerja, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"aktif, tidur, jangan kunci, tetap buka kunci saat terlipat, melipat, menutup, lipat, tutup, layar nonaktif"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestur"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"bayar, tempel, pembayaran"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Aktifkan ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Aktifkan ANGLE sebagai driver OpenGL ES sistem"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Aktifkan ANGLE sebagai driver OpenGL ES default. Mengaktifkannya pada perangkat yang tidak kompatibel dapat menyebabkan beberapa aplikasi gagal berfungsi."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Perlu memulai ulang untuk mengubah driver OpenGL ES sistem"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Perubahan Kompatibilitas Aplikasi"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Ubah setelan kompatibilitas aplikasi"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Lain kali"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Batal"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Alihkan"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Nonaktifkan"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Tidak dapat mengaktifkan SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Coba aktifkan SIM lagi. Jika masalah berlanjut, mulai ulang perangkat."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivasi jaringan"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Uninstal aplikasi"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplikasi yang diinstal dalam # bulan terakhir}other{Aplikasi yang diinstal dalam # bulan terakhir}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplikasi diinstal lebih dari # bulan lalu}other{Aplikasi diinstal lebih dari # bulan lalu}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Aplikasi yang disarankan"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplikasi yang rasio aspeknya diganti"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Default aplikasi"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensor sidik jari"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notifikasi flash"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Tentang notifikasi flash"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aktif"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Nonaktif"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aktif"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Nama perangkat Anda dapat dilihat oleh aplikasi yang diinstal. Juga mungkin dilihat oleh orang lain saat Anda terhubung ke perangkat Bluetooth atau jaringan Wi-Fi, atau saat menyiapkan hotspot Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gender gramatikal"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pilih Gender gramatikal"</string>
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 45bd00f..d82b076 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Andliti og <xliff:g id="WATCH">%s</xliff:g> bætt við"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Andliti, fingrafari og <xliff:g id="WATCH">%s</xliff:g> bætt við"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Andliti, fingraförum og <xliff:g id="WATCH">%s</xliff:g> bætt við"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Andlits- og fingrafarskenni"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingrafar og andlitskenni"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Andlits- og fingrafarskenni fyrir vinnu"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Þörf er á uppsetningu"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Andliti og fingraförum bætt við"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN-númer • Andlit"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Aðgangsorð • Andlit"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Halda áfram án andlitskennis"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Mynstur • Andlit • Fingrafar"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN-númer • Andlit • Fingrafar"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Aðgangsorð • Andlit • Fingrafar"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Halda áfram án andlits eða fingrafars"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Halda áfram án fingrafara eða andlits"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Enginn"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Strjúka"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mynstur"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Slökkt"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Sýna hvítjöfnun"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Haldast ólæstur samanbrotinn"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Halda framskjá ólæstum þegar hann er samanbrotinn þar til tímamörkum skjás er náð"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Hnökralaus skjár"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Breytir endurnýjunarhraða sjálfkrafa úr 60 í <xliff:g id="ID_1">%1$s</xliff:g> Hz fyrir sumt efni. Eykur rafhlöðunotkun."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Þvinga fram mesta endurnýjunarhraða"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"skjáfesting"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"verkefni í vinnu, vinna, snið"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"vinnusnið, stýrt snið, sameina, sameining, vinna, snið"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"vakandi, sofa, ekki læsa, haldast ólæstur þegar brotinn saman, brjóta saman, loka, brjóta, lokun, slökkt á skjá"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"bendingar"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"veski"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"borga, ýta, greiðslur"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Virkja ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Virkja ANGLE sem OpenGL ES-rekil kerfis"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Virkja ANGLE sem sjálfgefinn OpenGL ES-rekil Ef þetta er virkjað í ósamhæfum tækjum getur það valdið bilunum í sumum forritum."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Endurræsingar er krafist til að skipta um OpenGL ES-rekil kerfis"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Breytingar á samhæfi forrits"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Víxla samhæfisbreytingum forrits"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nei, takk"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Hætta við"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Skipta"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Slökkva"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Ekki er hægt að virkja SIM-kort"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prófaðu að kveikja aftur á SIM-kortinu. Ef vandamálið leysist ekki skaltu endurræsa tækið."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Virkjun símkerfis"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Fjarlægja forrit"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Forrit sem voru sett upp á síðasta # mánuði}one{Forrit sem voru sett upp á síðasta # mánuði}other{Forrit sem voru sett upp á síðustu # mánuðum}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Forrit sem voru sett upp fyrir # mánuði}one{Forrit sem voru sett upp fyrir # mánuði}other{Forrit sem voru sett upp fyrir # mánuðum}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Tillögur að forritum"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Forrit sem þú hefur hnekkt"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Sjálfgefið í forriti"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Fingrafaralesari"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Flasstilkynningar"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Um flasstilkynningar"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Kveikt"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Slökkt"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Kveikt"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Heiti tækisins er sýnilegt uppsettum forritum. Heiti þess er hugsanlega einnig sýnilegt öðru fólki þegar þú tengist Bluetooth-tækjum, WiFi-neti eða setur upp heitan WiFi-reit."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Kyn"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Veldu kyn"</string>
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 548dee3..7674f3b 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Volto e <xliff:g id="WATCH">%s</xliff:g> aggiunti"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Volto, impronta e <xliff:g id="WATCH">%s</xliff:g> aggiunti"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Volto, impronte e <xliff:g id="WATCH">%s</xliff:g> aggiunti"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Sblocco con il volto e con l\'impronta"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sblocco con l\'impronta e con il volto"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Sblocco con il volto e con l\'impronta per lavoro"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configurazione richiesta"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Impronte e volto aggiunti"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Volto"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Password • Volto"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continua senza sblocco con il volto"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Sequenza • Volto • Impronta"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Volto • Impronta"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Password • Volto • Impronta"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continua senza volto o impronta"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continua senza impronta o volto"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Nessuno"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Scorrimento"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Sequenza"</string>
@@ -924,7 +921,7 @@
     <string name="wifi_hotspot_speed_6g" msgid="3787697484862730500">"6 GHz"</string>
     <string name="wifi_hotspot_speed_6g_summary" msgid="8675262219242174548">"Velocità massime. Compatibile con pochi dispositivi."</string>
     <string name="wifi_hotspot_speed_summary_unavailable" msgid="7276080644693388756">"Non disponibile nel tuo paese o nella tua regione"</string>
-    <string name="wifi_hotspot_speed_footer" msgid="8846939503916795002">"Se la tua frequenza preferita non è disponibile, l\'hotspot potrebbe utilizzarne una diversa. Le impostazioni di sicurezza dell\'hotspot potrebbero cambiare se si cambia la frequenza."</string>
+    <string name="wifi_hotspot_speed_footer" msgid="8846939503916795002">"Se la tua frequenza preferita non è disponibile, l\'hotspot potrebbe utilizzarne una diversa. Le impostazioni di sicurezza dell\'hotspot potrebbero cambiare se modifichi la frequenza."</string>
     <string name="wifi_hotspot_security_summary_unavailable" msgid="117582979310345853">"Non disponibile con 6 GHz"</string>
     <string name="wifi_hotspot_security_footer" msgid="4608329688744949796">"Le impostazioni di sicurezza potrebbero cambiare se modifichi la frequenza dell\'hotspot"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"Attivazione hotspot…"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Off"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Bilanciamento bianco display"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Tieni sbloccato quando chiuso"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Tieni sbloccato il display frontale quando è chiuso fino a spegnimento schermo"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Display fluido"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automaticamente la frequenza di aggiornamento da 60 a <xliff:g id="ID_1">%1$s</xliff:g> Hz per alcuni contenuti. Comporta un maggior utilizzo della batteria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forza frequenza di aggiornamento massima"</string>
@@ -2732,7 +2731,7 @@
     <string name="user_enable_calling_and_sms_confirm_message" msgid="367792286597449922">"La cronologia chiamate e SMS verrà condivisa con questo utente."</string>
     <string name="user_revoke_admin_confirm_title" msgid="3057842401861731863">"Vuoi rimuovere i privilegi amministrativi?"</string>
     <string name="user_revoke_admin_confirm_message" msgid="9207187319308572958">"Se rimuovi i privilegi amministrativi per questo utente, tu o un altro amministratore potrete concederglieli di nuovo in un secondo momento."</string>
-    <string name="emergency_info_title" msgid="8233682750953695582">"Informazioni per le emergenze"</string>
+    <string name="emergency_info_title" msgid="8233682750953695582">"Informazioni d\'emergenza"</string>
     <string name="emergency_info_summary" msgid="8463622253016757697">"Dati e contatti di <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
     <string name="open_app_button" msgid="5025229765547191710">"Apri <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
     <string name="application_restrictions" msgid="276179173572729205">"Consenti app e contenuti"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"blocco su schermo"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"sfida lavoro, lavoro, profilo"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"profilo di lavoro, profilo gestito, unificare, unificazione, lavoro, profilo"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"riattivare, sospendere, non bloccare, tenere sbloccato quando chiuso, piegare, chiudere, piegatura, chiusura, schermo disattivato"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gesti"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"paga, tocca, pagamenti"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Attiva ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Attiva ANGLE come driver OpenGL ES di sistema"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Attiva ANGLE come driver OpenGL ES predefinito. Se lo attivi su dispositivi non compatibili, alcune applicazioni potrebbero non funzionare."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"È necessario riavviare per cambiare il driver OpenGL ES di sistema"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Modifiche di compatibilità dell\'app"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Attiva/disattiva le modifiche di compatibilità delle app"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, grazie"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annulla"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Cambia"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Disattiva"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Impossibile attivare la SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Riprova ad attivare la SIM. Se il problema persiste, riavvia il dispositivo."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Attivazione della rete"</string>
@@ -4676,7 +4677,7 @@
     <string name="ingress_rate_limit_dialog_title" msgid="5359461052422633789">"Configura il limite di velocità di download della rete"</string>
     <string name="ingress_rate_limit_no_limit_entry" msgid="8741098826008012163">"Nessun limite"</string>
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"Disattiva limitazioni per i processi secondari"</string>
-    <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Disattiva le limitazioni relative all\'utilizzo delle risorse di sistema per i processi secondari delle app"</string>
+    <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"Disattiva le limitazioni relative all\'utilizzo delle risorse di sistema per i processi figlio delle app"</string>
     <string name="enable_notes_role_title" msgid="7662702013496114763">"Forza attivazione del ruolo Note"</string>
     <string name="enable_notes_role_summary" msgid="5495721409392395089">"Attiva le integrazioni di sistema per la creazione di note tramite il ruolo Note. Se il ruolo Note è già attivo, non succederà nulla. Richiede il riavvio."</string>
     <string name="bluetooth_broadcast_dialog_title" msgid="9172775308463135884">"Trasmissione"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Disinstalla app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{App installate nell\'ultimo mese}other{App installate negli ultimi # mesi}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{App installate più di # mese fa}other{App installate più di # mesi fa}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"App consigliate"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"App sottoposte a override"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Valore predefinito dell\'app"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensore di impronte digitali"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Flash di notifica"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Informazioni sul flash di notifica"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"On"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"On"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Il nome del tuo dispositivo è visibile alle app installate. Potrebbe essere visibile anche ad altre persone quando ti connetti a dispositivi Bluetooth, a una rete Wi-Fi o configuri un hotspot Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Genere grammaticale"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Seleziona genere grammaticale"</string>
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 526091a..891f7b6 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"הפנים וה-<xliff:g id="WATCH">%s</xliff:g> נוספו"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"הפנים, טביעת האצבע וה-<xliff:g id="WATCH">%s</xliff:g> נוספו"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"הפנים, טביעות האצבע וה-<xliff:g id="WATCH">%s</xliff:g> נוספו"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"פתיחה ע\"י זיהוי הפנים וביטול הנעילה בטביעת אצבע"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"פתיחה בטביעת אצבע ופתיחה ע\"י זיהוי הפנים"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"פתיחה ע\"י זיהוי הפנים וביטול הנעילה בטביעת אצבע בפרופיל העבודה"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"צריך להגדיר ביטול נעילה בעזרת מידע ביומטרי"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"נוספו טביעות אצבע וזיהוי פנים"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"קוד אימות • זיהוי פנים"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"סיסמה • זיהוי פנים"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"המשך ללא פתיחה ע\"י זיהוי הפנים"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"קו ביטול נעילה • פנים • טביעת אצבע"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"קוד אימות • פנים • טביעת אצבע"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"סיסמה • פנים • טביעת אצבע"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"המשך ללא הגדרה של זיהוי פנים או טביעת אצבע"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"המשך בלי טביעת אצבע או זיהוי פנים"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ללא"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"החלקה"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"קו ביטול נעילה"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"כבויה"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"הצגת איזון לבן"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"במצב ביטול נעילה כשמכשיר מקופל"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"השארת המסך החיצוני פתוח כשהמכשיר מקופל עד הזמן הקצוב לכיבוי המסך"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"תצוגה חלקה"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"‏קצב הרענון עולה באופן אוטומטי מ-60 ל-Hz<xliff:g id="ID_1">%1$s</xliff:g> לחלק מהתוכן. השימוש בסוללה יוגבר."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"אילוץ לקצב הרענון המקסימלי"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"הקפאת מסך"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"אתגר בעבודה, עבודה, פרופיל"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"פרופיל עבודה, פרופיל מנוהל, לאחד, איחוד, עבודה, פרופיל"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ערות, לא במצב שינה, שינה, במצב שינה, לא לנעול, הישארות במצב ביטול נעילה, ביטול נעילה בזמן קיפול, קיפול, סגור, בתהליך סגירה, קיפול, סגירה, כיבוי מסך, מסך מושבת, מסך כבוי"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"תנועות לביצוע פעולות"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"ארנק"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"תשלום, הקשה, תשלומים"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"‏הפעלת ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"‏הפעלת ANGLE כמנהל התקן OpenGL ES של המערכת"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"‏הפעלת ANGLE כברירת מחדל OpenGL ES לנהג. הפעלה במכשירים לא תואמים עלולה לגרום לאפליקציות מסוימות להפסיק לעבוד."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"‏צריך להפעיל מחדש כדי לשנות את מערכת OpenGL ES לנהג"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"שינויים בתאימות האפליקציה"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"החלפת המצב של שינויים בתאימות של אפליקציות"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"לא תודה"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ביטול"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"מעבר"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"השבתה"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"‏לא ניתן להפעיל את ה-SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"‏יש להפעיל שוב את ה-SIM. אם הבעיה נמשכת, יש להפעיל מחדש את המכשיר."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"הפעלת רשת"</string>
@@ -4704,6 +4705,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"הסרת האפליקציה"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{אפליקציות שהותקנו במהלך החודש האחרון}one{אפליקציות שהותקנו במהלך # החודשים האחרונים}two{האפליקציות הותקנו במהלך החודשיים האחרונים}other{אפליקציות שהותקנו במהלך # החודשים האחרונים}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{האפליקציות הותקנו לפני יותר מחודש אחד (#)}one{האפליקציות הותקנו לפני יותר מ-# חודשים}two{האפליקציות הותקנו לפני יותר מחודשיים (#)}other{האפליקציות הותקנו לפני יותר מ-# חודשים}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"יחס גובה-רוחב"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"צריך לבחור יחס גובה-רוחב להצגת האפליקציה הזו אם היא לא תוכננה להתאים למכשיר <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"הצעות לאפליקציות"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"אפליקציות ששינית מברירת המחדל"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ברירת המחדל של האפליקציה"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"מסך מלא"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"חצי מסך"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"יחס גובה-רוחב של המכשיר"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"‎3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"האפליקציה תופעל מחדש לאחר שינוי יחס הגובה-רוחב. ייתכן ששינויים שלא נשמרו יאבדו."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"חיישן טביעות אצבע"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"התראות הבהוב"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"מידע על התראות הבהוב"</string>
@@ -4754,4 +4767,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"מופעלת"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"מושבתות"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"מופעלות"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‏המכשיר שלך גלוי לאפליקציות שהתקנת. כמו כן, ייתכן שאנשים אחרים יראו אותו בהתחברות למכשירי Bluetooth, לרשת Wi-Fi, או בהגדרת נקודת Wi-Fi לשיתוף אינטרנט."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"לשון הפנייה"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"בחירת לשון הפנייה"</string>
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index d426487..e84aed6 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -250,10 +250,10 @@
     <string name="zone_time_type_standard" msgid="6865420715430680352">"標準時間"</string>
     <string name="zone_menu_by_region" msgid="2963565278710225652">"地域で選択"</string>
     <string name="zone_menu_by_offset" msgid="1257702747474426745">"UTC オフセットで選択"</string>
-    <string name="lock_after_timeout" msgid="8682769000437403444">"画面消灯後からロックまでの時間"</string>
+    <string name="lock_after_timeout" msgid="8682769000437403444">"画面が自動的に消灯してからロックまでの時間"</string>
     <string name="lock_after_timeout_summary" msgid="4869265514658147304">"タイムアウトから <xliff:g id="TIMEOUT_STRING">%1$s</xliff:g>"</string>
     <string name="lock_immediately_summary_with_exception" msgid="40819611828339044">"画面消灯の直後にロック(<xliff:g id="TRUST_AGENT_NAME">%1$s</xliff:g> がロック解除を管理している場合を除く)"</string>
-    <string name="lock_after_timeout_summary_with_exception" msgid="3441806647509073124">"画面消灯後から<xliff:g id="TIMEOUT_STRING">%1$s</xliff:g>後にロック(<xliff:g id="TRUST_AGENT_NAME">%2$s</xliff:g> がロック解除を管理している場合を除く)"</string>
+    <string name="lock_after_timeout_summary_with_exception" msgid="3441806647509073124">"画面が自動的に消灯してから<xliff:g id="TIMEOUT_STRING">%1$s</xliff:g>後にロック(<xliff:g id="TRUST_AGENT_NAME">%2$s</xliff:g> がロック解除を管理している場合を除く)"</string>
     <string name="owner_info_settings_title" msgid="3555626140700093017">"ロック画面にテキストを追加"</string>
     <string name="owner_info_settings_summary" msgid="347238313388083297">"なし"</string>
     <string name="owner_info_settings_edit_text_hint" msgid="841926875876050274">"例: 佐藤のAndroid"</string>
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"顔、<xliff:g id="WATCH">%s</xliff:g>を登録しました"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"顔、指紋、<xliff:g id="WATCH">%s</xliff:g>を登録しました"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"顔、指紋、<xliff:g id="WATCH">%s</xliff:g>を登録しました"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"顔認証と指紋認証によるロック解除"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指紋認証と顔認証"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"仕事用の顔認証と指紋認証"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"セットアップが必要です"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"顔と指紋を登録しました"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • 顔認証"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"パスワード • 顔認証"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"顔認証を設定せずに続行"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"パターン • 顔 • 指紋"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • 顔 • 指紋"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"パスワード • 顔 • 指紋"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"顔認証や指紋認証を設定せずに続行"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"指紋認証や顔認証を使わずに続行する"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"なし"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"スワイプ"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"パターン"</string>
@@ -909,24 +906,24 @@
     <string name="wifi_hotspot_maximize_compatibility_single_ap_summary" msgid="383355687431591441">"他のデバイスにこのアクセス ポイントが公開されます。アクセス ポイント接続速度が低下します。"</string>
     <string name="wifi_hotspot_maximize_compatibility_dual_ap_summary" msgid="3579549223159056533">"他のデバイスにこのアクセス ポイントが公開されます。バッテリー使用量が増えます。"</string>
     <string name="wifi_hotspot_speed_title" msgid="8629448084180512685">"速度と互換性"</string>
-    <string name="wifi_hotspot_speed_summary_2g" msgid="5063438001736234858">"2.4 GHz / ほとんどのデバイスと互換性あり"</string>
-    <string name="wifi_hotspot_speed_summary_5g" msgid="6221158936983135040">"5 GHz / 多くのデバイスと互換性あり"</string>
-    <string name="wifi_hotspot_speed_summary_6g" msgid="8863992901226595544">"6 GHz / ごく一部のデバイスのみと互換性あり"</string>
-    <string name="wifi_hotspot_speed_summary_2g_and_5g" msgid="5931052946168943750">"2.4 / 5 GHz / ほとんどのデバイスと互換性あり"</string>
+    <string name="wifi_hotspot_speed_summary_2g" msgid="5063438001736234858">"2.4 GHz / ほとんどのデバイスに対応"</string>
+    <string name="wifi_hotspot_speed_summary_5g" msgid="6221158936983135040">"5 GHz / 対応デバイスは多数"</string>
+    <string name="wifi_hotspot_speed_summary_6g" msgid="8863992901226595544">"6 GHz / 対応デバイスはまだ少数"</string>
+    <string name="wifi_hotspot_speed_summary_2g_and_5g" msgid="5931052946168943750">"2.4 / 5 GHz / ほとんどのデバイスに対応"</string>
     <string name="wifi_hotspot_speed_intro" msgid="6973482196363758925">"アクセス ポイントの周波数を選択してください。周波数は、接続速度と、アクセス ポイントを検出できるデバイスの種類に影響します。"</string>
     <string name="wifi_hotspot_speed_category" msgid="5265655850463630286">"優先周波数"</string>
     <string name="wifi_hotspot_speed_2g" msgid="3400600834257664480">"2.4 GHz"</string>
-    <string name="wifi_hotspot_speed_2g_summary" msgid="6930273933810520155">"速度が遅くなります。ほとんどのデバイスと互換性があります。"</string>
+    <string name="wifi_hotspot_speed_2g_summary" msgid="6930273933810520155">"速度が遅くなります。ほとんどのデバイスに対応しています。"</string>
     <string name="wifi_hotspot_speed_5g" msgid="4058116867148848395">"5 GHz"</string>
-    <string name="wifi_hotspot_speed_5g_summary" msgid="562987935924535694">"高速です。多くのデバイスと互換性があります。"</string>
+    <string name="wifi_hotspot_speed_5g_summary" msgid="562987935924535694">"高速です。多数のデバイスに対応しています。"</string>
     <string name="wifi_hotspot_speed_2g_5g" msgid="9192756255938408285">"2.4 / 5 GHz"</string>
-    <string name="wifi_hotspot_speed_2g_5g_summary" msgid="8104575293617700173">"高速です。このデュアルバンドのアクセス ポイントはほとんどのデバイスと互換性があります。"</string>
+    <string name="wifi_hotspot_speed_2g_5g_summary" msgid="8104575293617700173">"高速です。このデュアルバンドのアクセス ポイントはほとんどのデバイスに対応しています。"</string>
     <string name="wifi_hotspot_speed_6g" msgid="3787697484862730500">"6 GHz"</string>
-    <string name="wifi_hotspot_speed_6g_summary" msgid="8675262219242174548">"速度が最も速くなります。ごく一部のデバイスのみと互換性があります。"</string>
+    <string name="wifi_hotspot_speed_6g_summary" msgid="8675262219242174548">"速度が最も速くなります。対応デバイスはまだ少数です。"</string>
     <string name="wifi_hotspot_speed_summary_unavailable" msgid="7276080644693388756">"お住まいの国や地域では利用できません"</string>
     <string name="wifi_hotspot_speed_footer" msgid="8846939503916795002">"優先周波数を利用できない場合、アクセス ポイントは別の周波数を使用する可能性があります。周波数を変更すると、アクセス ポイントのセキュリティ設定が変更される可能性があります。"</string>
     <string name="wifi_hotspot_security_summary_unavailable" msgid="117582979310345853">"6 GHz には対応していません"</string>
-    <string name="wifi_hotspot_security_footer" msgid="4608329688744949796">"アクセス ポイントの周波数を変更すると、アクセス セキュリティ設定が変更される可能性があります"</string>
+    <string name="wifi_hotspot_security_footer" msgid="4608329688744949796">"アクセス ポイントの周波数を変更すると、セキュリティ設定が変更される可能性があります"</string>
     <string name="wifi_tether_starting" msgid="8879874184033857814">"アクセスポイントをONにしています…"</string>
     <string name="wifi_tether_stopping" msgid="4416492968019409188">"アクセスポイントをOFFにしています…"</string>
     <string name="wifi_tether_carrier_unsupport_dialog_title" msgid="3089432578433978073">"テザリングは利用できません"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"OFF"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"ディスプレイのホワイト バランス"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"折りたたみ時はロックを解除する"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"折りたたんだ状態では、画面が消灯するまでフロント ディスプレイのロックを解除します"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"スムーズ ディスプレイ"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"コンテンツに応じて、リフレッシュ レートを自動的に 60 Hz から <xliff:g id="ID_1">%1$s</xliff:g> Hz に変更します。バッテリー使用量が増えます。"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ピーク時のリフレッシュ レートの適用"</string>
@@ -2309,7 +2308,7 @@
     <!-- no translation found for battery_saver_seekbar_title (3712266470054006641) -->
     <skip />
     <string name="battery_saver_seekbar_title_placeholder" msgid="7141264642540687540">"ON にする"</string>
-    <string name="battery_saver_master_switch_title" msgid="3474312070095834915">"バッテリー セーバーを使用する"</string>
+    <string name="battery_saver_master_switch_title" msgid="3474312070095834915">"バッテリー セーバーを使用"</string>
     <string name="battery_saver_turn_on_automatically_title" msgid="7857393318205740864">"自動的にON"</string>
     <string name="battery_saver_turn_on_automatically_never" msgid="6194649389871448663">"使用しない"</string>
     <string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"バッテリー残量が <xliff:g id="PERCENT">%1$s</xliff:g> になったとき"</string>
@@ -2724,7 +2723,7 @@
     <string name="remove_guest_on_exit_dialog_message" msgid="8112409834021851883">"今回のゲスト セッションのアプリとデータが今すぐ削除され、今後のゲストのアクティビティはすべて、ゲストモードを終了するたびに削除されます"</string>
     <string name="remove_guest_on_exit_keywords" msgid="4961310523576166193">"削除, ゲスト, アクティビティ, 消す, データ, ビジター, 消去"</string>
     <string name="enable_guest_calling" msgid="4620657197834392094">"ゲストに通話を許可する"</string>
-    <string name="enable_guest_calling_summary" msgid="4748224917641204782">"発信履歴がゲストユーザーと共有されます。"</string>
+    <string name="enable_guest_calling_summary" msgid="4748224917641204782">"通話履歴がゲストユーザーと共有されます。"</string>
     <string name="user_enable_calling_sms" msgid="8546430559552381324">"通話と SMS を ON"</string>
     <string name="user_grant_admin" msgid="5942118263054572074">"このユーザーを管理者にする"</string>
     <string name="user_remove_user" msgid="8468203789739693845">"ユーザーの削除"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"画面固定"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"ワーク チャレンジ, 仕事用, プロファイル"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"仕事用プロファイル, 管理対象プロファイル, 統合する, 統合, 仕事, プロファイル"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"アクティブ, スリープ, ロックしない, 折りたたみ時はロックを解除する, 折りたたんでいる, 閉じている, 折りたたむ, 閉じる, 画面 OFF"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ジェスチャー"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"ウォレット"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"支払い, タップ, ペイメント"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE を有効にする"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"システムの OpenGL ES ドライバとして ANGLE を有効にする"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"デフォルトの OpenGL ES ドライバとして ANGLE を有効にします。互換性のないデバイスで有効にすると、一部のアプリケーションに問題が発生するおそれがあります。"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"システムの OpenGL ES ドライバを変更するには再起動が必要です"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"アプリの互換性の変更"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"「アプリの互換性の変更」を切り替えます"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"いいえ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"キャンセル"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"切り替える"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"OFF にする"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM を有効にできません"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM をもう一度 ON にしてみてください。問題が解決しない場合は、デバイスを再起動してください。"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ネットワークの有効化"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"アプリをアンインストール"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{過去 # か月間にインストールされたアプリ}other{過去 # か月間にインストールされたアプリ}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# か月以上前にインストールされたアプリ}other{# か月以上前にインストールされたアプリ}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"アスペクト比"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"お使いの <xliff:g id="DEVICE_NAME">%1$s</xliff:g> にあわせた設計になっていないアプリの場合は、表示のアスペクト比を変更してください"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"推奨アプリ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"オーバーライドを指定したアプリ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"アプリのデフォルト"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"全画面表示"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"画面半分のみ表示"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"デバイスのアスペクト比"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"アスペクト比を変更すると、アプリが再起動します。保存されていない変更は失われる可能性があります。"</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"指紋認証センサー"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"点滅による通知"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"点滅による通知について"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ON"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"OFF"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ON"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"インストールしたアプリにデバイス名が表示されます。また、Bluetooth デバイスや Wi-Fi ネットワークに接続したり Wi-Fi アクセス ポイントを設定したりすると、他のユーザーもデバイス名を確認できるようになります。"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"文法性"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"文法性の選択"</string>
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 3261b37..da8866f 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"დაემატა სახე და <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"დაემატა სახე, თითის ანაბეჭდი და <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"დაემატა სახე, თითის ანაბეჭდები და <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"სახით და ანაბეჭდით განბლოკვა"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"თითის ანაბეჭდით და სახით განბლოკვა"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"სახით და თითის ანაბეჭდით განბლოკვა სამსახურისთვის"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"საჭიროა დაყენება"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"სახე და თითის ანაბეჭდები დამატებულია"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN-კოდი • სახე"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"პაროლი • სახე"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"გაგრძელება სახით განბლოკვის გარეშე"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"ნიმუში • სახე • თითის ანაბეჭდი"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN-კოდი • სახე • თითის ანაბეჭდი"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"პაროლი • სახე • თითის ანაბეჭდი"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"სახის ან თითის ანაბეჭდის გარეშე გაგრძელება"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"განაგრძეთ თითის ანაბეჭდის ან სახის გარეშე"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"არც ერთი"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"გასრიალება"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ნიმუში"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"გამორთული"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"ეკრანის თეთრის ბალანსი"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"განბლოკილად, როცა დაკეცილია"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"წინა ეკრანი განბლოკილი გქონდეთ დაკეცილ მდგომარეობაში ეკრანის მოლოდინის დროის ამოწურვამდე"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"გარკვეული კონტენტისთვის განახლების სიხშირის ავტომატურად გაზრდა 60-დან <xliff:g id="ID_1">%1$s</xliff:g> ჰც-მდე. ზრდის ბატარეის მოხმარებას."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"განახლების პიკური სიხშირის იძულება"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ეკრანზე ჩამაგრება"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"სამსახურის გამოწვევა, სამსახური, პროფილი"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"სამსახურის პროფილი, მართული პროფილი, გაერთიანება, უნიფიკაცია, სამსახური, პროფილი"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"გაღვიძება, ძილი, არ ჩაკეტოთ, დარჩით განბლოკილი, როცა დაკეცილია, დაკეცვა, დახურვა, ნაკეცი, დახურვა, ეკრანი გამორთულია"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ჟესტები"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"საფულე"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"გადახდა, შეხება, გადახდები"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE-ის ჩართვა"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE-ის ჩართვა როგორც OpenGL ES სისტემის დრაივერი"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE-ის ჩართვა როგორც OpenGL ES სისტემის ნაგულისხმევი დრაივერის. ამის ჩართვამ არათავსებად მოწყობილობებზე შესაძლოა ზოგი აპლიკაციის დაზიანება გამოიწვიოს."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"OpenGL ES სისტემის დრაივერის შესაცვლელად საჭიროა გადატვირთვა"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"აპის თავსებადობის ცვლილებები"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"აპის თავსებადობის ცვლილებების გადართვა"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"არა, გმადლობთ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"გაუქმება"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"გადართვა"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"გამორთვა"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM ბარათის გააქტიურება ვერ ხერხდება"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ცადეთ, ხელახლა ჩართოთ SIM ბარათი. თუ პრობლემა არ მოგვარდა, გადატვირთეთ მოწყობილობა."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ქსელის გააქტიურება"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"აპის დეინსტალაცია"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{ბოლო # თვეში დაყენებული აპები}other{ბოლო # თვეში დაყენებული აპები}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{აპის ინსტალაციიდან გასულია # თვეზე მეტი}other{აპის ინსტალაციიდან გასულია # თვეზე მეტი}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"თანაფარდობა"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"აირჩიეთ თანაფარდობა ამ აპის სანახავად, თუ ის არ არის შემუშავებული თქვენი <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ის შესაფერისად"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"შემოთავაზებული აპები"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"აპები, რომლებიც უგულებელყავით"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"აპი ნაგულისხმევად"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"სრული ეკრანი"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"ნახევარი ეკრანი"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"მოწყობილობის თანაფარდობა"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"აპი გადაიტვირთება, როდესაც შეცვლით თანაფარდობას. შეიძლება დაკარგოთ შეუნახავი ცვლილებები."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"თითის ანაბეჭდის სენსორი"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ბლიც გაფრთხილებები"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ბლიც გაფრთხილებების შესახებ"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ჩართული"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"გამორთული"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ჩართული"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"თქვენი მოწყობილობის სახელი ხილულია დაინსტალირებული აპებისთვის. მის დანახვას შეძლებენ სხვა პირებიც, როცა Bluetooth მოწყობილობებს ან Wi-Fi ქსელს დაუკავშირდებით, ან Wi-Fi უსადენო ქსელს დააყენებთ."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"გრამატიკული სქესი"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"აირჩიეთ გრამატიკული სქესი"</string>
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 3a4042e..7680303 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -192,20 +192,13 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Сенбі"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Аймақтық параметрлер болмаса, қолданба өзінің тіл параметрлерін пайдаланады."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Тіл параметрлері туралы толық ақпарат алыңыз."</string>
-    <!-- no translation found for category_title_terms_of_address (4309422700380895278) -->
-    <skip />
-    <!-- no translation found for terms_of_address_title (4064593634733842458) -->
-    <skip />
-    <!-- no translation found for terms_of_address_summary (6136134336560679144) -->
-    <skip />
-    <!-- no translation found for terms_of_address_intro_title (6149691509414243483) -->
-    <skip />
-    <!-- no translation found for terms_of_address_not_specified (4439257779351251973) -->
-    <skip />
-    <!-- no translation found for terms_of_address_feminine (1743479869695539283) -->
-    <skip />
-    <!-- no translation found for terms_of_address_masculine (983106046135098856) -->
-    <skip />
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Қосымша параметрлер"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Атау шарттары"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Сізді қалай деп атау керектігін көрсетіңіз."</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Қолданбалар сізді атағанда, қандай атау түрін пайдалануды білуі үшін, сәйкес шарттарды пайдалана алады."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Көрсетілмеген"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Аналық"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Аталық"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Таңдалған тілді жою керек пе?}other{Таңдалған тілдерді жою керек пе?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Мәтін басқа тілде көрсетіледі."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Барлық тілдерді жою мүмкін емес"</string>
@@ -395,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Бет тану функциясы және <xliff:g id="WATCH">%s</xliff:g> қосылды."</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Бет тану функциясы, саусақ ізі және <xliff:g id="WATCH">%s</xliff:g> қосылды."</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Бет тану функциясы, саусақ іздері және <xliff:g id="WATCH">%s</xliff:g> қосылды."</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Бет тану, саусақ ізімен ашу"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Бет және саусақ ізі арқылы құлыпты ашу"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Жұмысқа арналған бет тану және саусақ ізімен ашу функциялары"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Реттеу қажет."</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Бет және саусақ іздері енгізілді."</string>
@@ -552,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN коды • бет тану"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Құпия сөз • бет тану"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Бет танусыз жалғастыру"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Өрнек • Бет • Саусақ ізі"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN коды • Бет • Саусақ ізі"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Құпия сөз • Бет • Саусақ ізі"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Бетті немесе саусақ ізін пайдаланбай жалғастыру"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Саусақ ізімен ашу немесе бет тану функцияларынсыз жалғастыру"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Жоқ"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Экранды сырғыту"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Өрнек"</string>
@@ -1009,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Өшірулі"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Дисплейдің ақ түс балансы"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Бүктелгенде құлыпталмасын"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Бүктеген кезде, алдыңғы экранның құлпы экран өшкенше ашық тұрсын."</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Кейбір контент үшін жаңарту жиілігі 60-тан <xliff:g id="ID_1">%1$s</xliff:g> Гц-ке дейін автоматты түрде артады. Мұндайда батарея заряды тезірек таусылады."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Ең жоғарғы жаңарту жиілігін қолмен қосу"</string>
@@ -1479,18 +1471,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"Құрылғының құлпын ашу үшін өрнекті пайдалану"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"Құрылғының құлпын ашу үшін PIN кодын пайдалану"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"Құрылғының құлпын ашу үшін құпия сөзді пайдалану"</string>
-    <!-- no translation found for lockpassword_confirm_repair_mode_pattern_header (6669435143987988314) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pin_header (2585263648322879131) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_password_header (3064676176428495228) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pattern_details (6187536224419477465) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pin_details (203022189107305807) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_password_details (4860219600771003873) -->
-    <skip />
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"Өрнекті растаңыз"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"PIN кодын растаңыз"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"Құпия сөзді растау"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"Жалғастыру үшін құрылғының құлып өрнегін пайдаланыңыз."</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"Жалғастыру үшін құрылғы PIN кодын енгізіңіз."</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"Жалғастыру үшін құрылғының құпия сөзін енгізіңіз."</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"Қате PIN"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"Қате құпия сөз"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"Қате өрнек"</string>
@@ -1929,10 +1915,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Арнайы мүмкіндіктер түймесі мен қимылы туралы толығырақ"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Арнайы мүмкіндіктер түймесі қолданылуда. Бұл қимыл 3 түймемен басқарылмайды."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Арнайы мүмкіндіктерге жылдам қол жеткізу"</string>
-    <!-- no translation found for accessibility_button_gesture_description (1141723096904904336) -->
-    <skip />
-    <!-- no translation found for accessibility_button_description (7669538706120092399) -->
-    <skip />
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Бастау үшін&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Арнайы мүмкіндіктердің параметрлеріне өтіңіз&lt;br/&gt; {1,number,integer}. Функцияны таңдап, жылдам пәрменді түртіңіз&lt;br/&gt; {2,number,integer}. Функцияны пайдалану үшін түймені не қимылды пайдаланғыңыз келетінін таңдаңыз&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Бастау үшін&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Арнайы мүмкіндіктердің параметрлеріне өтіңіз&lt;br/&gt; {1,number,integer}. Функцияны таңдап, жылдам пәрменді түртіңіз&lt;br/&gt; {2,number,integer}. Функцияны пайдалану үшін түймені таңдаңыз&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Түйме не қимылды қолдану"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Орны"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Көлемі"</string>
@@ -2950,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"экранды бекіту"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"жұмыс профилін қорғау, жұмыс, профиль"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"жұмыс профилі, басқарылатын профиль, бірыңғайлау, жұмыс, профиль"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ояу, ұйқы, құлыптамау, бүктемелі құрылғыда құлпы ашылған күйде қалу, бүктеу, жабу, бүктемелі, жабық, экран өшірулі"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"қимылдар"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"төлеу, түрту, төлемдер"</string>
@@ -3505,10 +3490,8 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Өшірулі"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Қолданбаны бекіту"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Экранда бекітілген қолданба ғана көрсетіліп тұрады. Оны, мысалы, досыңыз құрылғыңызды бір ойын ойнау үшін сұрағанда қолдануға болады."</string>
-    <!-- no translation found for screen_pinning_description (5822120806426139396) -->
-    <skip />
-    <!-- no translation found for screen_pinning_guest_user_description (2307270321127139579) -->
-    <skip />
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Қолданба бекітілген кезде, ол арқылы басқа қолданбаларды және жеке деректерді ашуға болады. \n\nҚолданба бекітуді пайдалану үшін: 	\n{0,number,integer}. Қолданба бекіту функциясын қосыңыз 	\n{1,number,integer}. Шолуды ашыңыз 	\n{2,number,integer}. Экранның жоғарғы жағындағы қолданба белгішесін, одан кейін \"Бекіту\" түймесін түртіңіз."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Қолданба бекітілген кезде, ол арқылы басқа қолданбаларды және жеке деректерді ашуға болады. \n\nЕгер құрылғыңызды біреумен қауіпсіз күйде бөліскіңіз келсе, қонақ профилін пайдаланыңыз. \n\nҚолданба бекітуді пайдалану үшін: 	\n{0,number,integer}. Қолданба бекіту функциясын қосыңыз 	\n{1,number,integer}. Шолуды ашыңыз 	\n{2,number,integer}. Экранның жоғарғы жағындағы қолданба белгішесін, одан кейін \"Бекіту\" түймесін түртіңіз."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Қолданба бекітілген кезде: \n\n•	 жеке деректерді пайдалануға болады \n		(мысалы, контактілер және электрондық хаттың контенті); \n•	 бекітілген қолданбалар басқа да қолданбаларды аша алады. \n\nБұл функцияны сенімді адамдармен ғана пайдаланыңыз."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Босату алдында құлыпты ашу өрнегін сұрау"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Босату алдында PIN кодын сұрау"</string>
@@ -4173,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE қосу"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE-ді OpenGL ES драйвері ретінде қосу"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE-ді әдепкі OpenGL ES драйвері ретінде қосу Оны үйлеспейтін құрылғыларда іске қоссаңыз, кейбір қолданбалар бұзылуы мүмкін."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Жүйенің OpenGL ES драйверін өзгерту үшін өшіріп қосу қажет."</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Қолданба үйлесімділігінің өзгерістері"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Қолданбалардың үйлесімділігін реттеудегі өзгерісті көрсету"</string>
@@ -4346,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Жоқ, рақмет"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Бас тарту"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Ауысу"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Өшіру"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM картасын іске қосу мүмкін емес"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM картасын қайтадан қосып көріңіз. Егер ақау жойылмаса, құрылғыны өшіріп қосыңыз."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Желіні іске қосу"</string>
@@ -4720,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Қолданбаны жою"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Соңғы # айда орнатылған қолданбалар}other{Соңғы # айда орнатылған қолданбалар}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# айдан бұрын орнатылған қолданбалар}other{# айдан бұрын орнатылған қолданбалар}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Ұсынылған қолданбалар"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Қайта анықталған қолданбалар"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Әдепкі қолданба"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Саусақ ізін оқу сканері"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Жарқылды хабарландырулар"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Жарқылды хабарландырулар туралы"</string>
@@ -4770,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Қосулы"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Өшірулі"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Қосулы"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Құрылғыңыздың аты орнатылған қолданбаларға көрінеді. Bluetooth құрылғыларына, Wi-Fi желісіне қосылғанда немесе Wi-Fi хотспотын орнатқанда, басқа адамдарға да көрінуі мүмкін."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Грамматикалық тек"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Грамматикалық текті таңдаңыз"</string>
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 7c48864..1306ba4 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"បានបញ្ចូលមុខ និង <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"បានបញ្ចូលមុខ ស្នាមម្រាមដៃ និង <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"បានបញ្ចូលមុខ ស្នាមម្រាមដៃ និង <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ការដោះសោ​ដោយស្កេនមុខ និង​ស្នាមម្រាមដៃ"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ការដោះ​សោ​ដោយស្កេន​មុខ និងស្នាមម្រាមដៃ"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ការដោះសោដោយស្កេន​ស្នាមម្រាមដៃ និងមុខ​សម្រាប់ការងារ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ត្រូវការរៀបចំ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"បានបញ្ចូលស្នាមម្រាមដៃ និងមុខ"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"កូដ PIN • មុខ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"ពាក្យសម្ងាត់ • មុខ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"បន្ត​ដោយមិនរៀបចំ​ការដោះសោតាមទម្រង់មុខ"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"លំនាំ • មុខ • ស្នាមម្រាមដៃ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"កូដ PIN • មុខ • ស្នាមម្រាមដៃ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"ពាក្យសម្ងាត់ • មុខ • ស្នាមម្រាមដៃ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"បន្ត​ដោយគ្មាន​មុខ ឬ​ស្នាមម្រាមដៃ"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"បន្ដដោយមិនប្រើស្នាមម្រាមដៃ ឬមុខ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"គ្មាន"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"អូស"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"លំនាំ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"បិទ"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"បង្ហាញតុល្យភាព​ពណ៌ស"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"បន្ដដោះសោនៅពេលបត់"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"ដោះសោអេក្រង់មុខនៅពេលបត់រហូតដល់រយៈពេលបិទអេក្រង់"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"បង្កើន​អត្រា​ផ្ទុកឡើងវិញ​ដោយស្វ័យប្រវត្តិ​ពី 60 ទៅ <xliff:g id="ID_1">%1$s</xliff:g> Hz សម្រាប់​ខ្លឹមសារ​មួយចំនួន។ ប្រើប្រាស់ថ្ម​ច្រើន​ជាងមុន។"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"បង្ខំឱ្យប្រើអត្រាផ្ទុក​ឡើងវិញអតិបរមា"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ការ​ភ្ជាប់​អេក្រង់"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"បញ្ហាប្រឈមក្នុងការងារ ការងារ ប្រវត្តិរូប"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"ប្រវត្តិរូបការងារ ប្រវត្តិរូបដែលត្រូវបានគ្រប់គ្រង រួមបញ្ចូល ការរួមបញ្ចូល ការងារ ប្រវត្តិរូប"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ភ្ញាក់, ដេក, មិនចាក់សោ, បន្ដដោះសោនៅពេលបត់, កំពុងបត់, កំពុងបិទ, បត់, បិទ, បិទអេក្រង់"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ចលនា"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"បង់​ប្រាក់, ចុច, ការ​បង់​ប្រាក់"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"បើក ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"បើក ANGLE ជាប្រព័ន្ធដ្រាយវើ OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"បើក ANGLE ជាប្រព័ន្ធដ្រាយវើ OpenGL ES។ ការបើកប្រព័ន្ធនេះនៅលើឧបករណ៍ដែលមិនត្រូវគ្នាអាចធ្វើឱ្យកម្មវិធីមួយចំនួនខូចបាន។"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"តម្រូវឱ្យ​ចាប់ផ្ដើមឡើងវិញ ដើម្បីប្ដូរ​ប្រព័ន្ធដ្រាយវើ OpenGL ES"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ការផ្លាស់ប្ដូរ​ចំពោះ​ភាពត្រូវគ្នា​នៃ​កម្មវិធី"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"បិទ/បើក​ការផ្លាស់ប្ដូរ​ភាពត្រូវគ្នា​នៃ​កម្មវិធី"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ទេ អរគុណ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"បោះបង់"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ប្តូរ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"បិទ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"មិនអាច​បើកដំណើរការ​ស៊ីមបានទេ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"សូម​សាកល្បង​បើកស៊ីមម្ដងទៀត។ ប្រសិនបើនៅតែមានបញ្ហា សូម​ចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នកឡើងវិញ។"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ការបើកដំណើរការ​បណ្ដាញ"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"លុប​កម្មវិធី"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{កម្មវិធីដែលបានដំឡើង # ខែចុងក្រោយ}other{កម្មវិធីដែលបានដំឡើង # ខែចុងក្រោយ}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{កម្មវិធីដែលបានដំឡើង​លើសពី # ខែមុន}other{កម្មវិធីដែលបានដំឡើង​លើសពី # ខែមុន}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"សមាមាត្រ"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"ជ្រើសរើសសមាមាត្រ​ដើម្បីមើលកម្មវិធីនេះ ប្រសិនបើ​សមាមាត្រនេះ​មិនត្រូវបានកំណត់ឱ្យ​ស័ក្តិសមនឹង <xliff:g id="DEVICE_NAME">%1$s</xliff:g> របស់អ្នក"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"កម្មវិធី​ដែលបានណែនាំ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"កម្មវិធីដែលអ្នកបានលុបពីលើ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"លំនាំដើមនៃកម្មវិធី"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"ពេញអេក្រង់"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"ពាក់កណ្ដាល​អេក្រង់"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"សមាមាត្រ​ឧបករណ៍"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"កម្មវិធីនេះ​នឹងចាប់ផ្ដើមឡើងវិញ នៅពេលអ្នកប្ដូរសមាមាត្រ។ អ្នកអាចបាត់បង់​ការផ្លាស់ប្ដូរ​ដែលមិនបានរក្សាទុក។"</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"សេនស័រចាប់ស្នាមម្រាមដៃ"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ការជូនដំណឹងបាញ់ពន្លឺ"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"អំពីការជូនដំណឹងបាញ់ពន្លឺ"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"បើក"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"បិទ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"បើក"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"កម្មវិធីដែលអ្នកបានដំឡើងអាចមើលឃើញឈ្មោះឧបករណ៍របស់អ្នក។ មនុស្សផ្សេងទៀតក៏អាចមើលឃើញឈ្មោះឧបករណ៍នេះផងដែរ នៅពេលអ្នកភ្ជាប់ទៅឧបករណ៍​ប៊្លូធូស ភ្ជាប់ទៅបណ្ដាញ Wi-Fi ឬរៀបចំហតស្ប៉ត Wi-Fi។"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"យេនឌ័រតាមវេយ្យាករណ៍"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ជ្រើសរើសយេនឌ័រតាមវេយ្យាករណ៍"</string>
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 6357f41..51eb4ef 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -124,7 +124,7 @@
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"ಪಠ್ಯ ಫೀಲ್ಡ್‌ಗಳಲ್ಲಿ ಬರೆಯಿರಿ"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"ಎಲ್ಲಾ ಸ್ಟೈಲಸ್ ಬಟನ್ ಒತ್ತುವಿಕೆಯನ್ನು ನಿರ್ಲಕ್ಷಿಸಿ"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"ಸ್ಟೈಲಸ್"</string>
-    <string name="date_and_time" msgid="1788358029823431692">"ದಿನಾಂಕ &amp; ಸಮಯ"</string>
+    <string name="date_and_time" msgid="1788358029823431692">"ದಿನಾಂಕ ಮತ್ತು ಸಮಯ"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ಪ್ರಾಕ್ಸಿ"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"ತೆರವುಗೊಳಿಸಿ"</string>
     <string name="proxy_port_label" msgid="4647357286461712574">"ಪ್ರಾಕ್ಸಿ ಪೋರ್ಟ್"</string>
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ಮುಖ ಮತ್ತು <xliff:g id="WATCH">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ಮುಖ, ಫಿಂಗರ್‌‍‍‍ಪ್ರಿಂಟ್‌ ಮತ್ತು <xliff:g id="WATCH">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ಮುಖ ಮತ್ತು ಫಿಂಗರ್‌‍‍‍ಪ್ರಿಂಟ್‌ಗಳನ್ನು, ಮತ್ತು <xliff:g id="WATCH">%s</xliff:g> ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ಫಿಂಗರ್ ಪ್ರಿಂಟ್ &amp; ಫೇಸ್ ಅನ್‌ಲಾಕ್"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ಕೆಲಸಕ್ಕಾಗಿ ಮುಖ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ಸೆಟಪ್ ಅಗತ್ಯವಿದೆ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್‌‍‍‍ಪ್ರಿಂಟ್‌ಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"ಪಿನ್ • ಫೇಸ್"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"ಪಾಸ್‌ವರ್ಡ್ • ಫೇಸ್"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಇಲ್ಲದೆ ಮುಂದುವರಿಯಿರಿ"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"ಪ್ಯಾಟರ್ನ್ • ಫೇಸ್ • ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"ಪಿನ್‌‌ • ಫೇಸ್ • ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"ಪಾಸ್‌ವರ್ಡ್ • ಫೇಸ್ • ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ಫೇಸ್ ಅಥವಾ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಇಲ್ಲದೆ ಮುಂದುವರಿಸಿ"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಅಥವಾ ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಇಲ್ಲದೆ ಮುಂದುವರಿಸಿ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ಯಾವುದೂ ಇಲ್ಲ"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ಸ್ವೈಪ್"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ಪ್ಯಾಟರ್ನ್"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ಆಫ್"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"ವೈಟ್ ಬ್ಯಾಲೆನ್ಸ್ ಪ್ರದರ್ಶಿಸಿ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ಫೋಲ್ಡ್ ಆದಾಗ ಅನ್‌ಲಾಕ್‌ನಲ್ಲಿಡಿ"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"ಫೋಲ್ಡ್ ಆಗಿದ್ದಾಗ, ಸ್ಕ್ರೀನ್ ಅವಧಿ ಮುಕ್ತಾಯವಾಗುವವರೆಗೆ ಫ್ರಂಟ್ ಡಿಸ್‌ಪ್ಲೇ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಸ್ಥಿತಿಯಲ್ಲಿಡಿ"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ಸ್ಮೂಥ್ ಡಿಸ್‌ಪ್ಲೇ"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ಕೆಲವು ವಿಷಯಗಳಿಗೆ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ 60 ರಿಂದ <xliff:g id="ID_1">%1$s</xliff:g>Hz ಗೆ ಹೆಚ್ಚಿಸುತ್ತದೆ. ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ಗರಿಷ್ಠ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ಅನ್ವಯಿಸಿ"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ಸ್ಕ್ರೀನ್ ಪಿನ್ನಿಂಗ್"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"ಕೆಲಸದ ಸವಾಲು, ಕೆಲಸ, ಪ್ರೊಫೈಲ್"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್, ನಿರ್ವಹಿಸಿದ ಪ್ರೊಫೈಲ್, ಒಗ್ಗೂಡಿಸಿ, ಏಕೀಕರಣ, ಕೆಲಸ, ಪ್ರೊಫೈಲ್"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"awake, sleep, do not lock, stay unlocked on fold, folding, closing, fold, close, screen off"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ಗೆಶ್ಚರ್‌ಗಳು"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"ವಾಲೆಟ್"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ಪಾವತಿಸಿ, ಟ್ಯಾಪ್ ಮಾಡಿ, ಪಾವತಿಗಳು"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ಸಿಸ್ಟಂ OpenGL ES ಡ್ರೈವರ್ ಆಗಿ ANGLE ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE ಅನ್ನು ಡೀಫಾಲ್ಟ್ OpenGL ES ಡ್ರೈವರ್ ಆಗಿ ಸಕ್ರಿಯಗೊಳಿಸಿ. ಹೊಂದಾಣಿಕೆಯಾಗದ ಸಾಧನಗಳಲ್ಲಿ ಇದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದರಿಂದ ಕೆಲವು ಆ್ಯಪ್‌ಗಳು ಬ್ರೇಕ್ ಆಗಬಹುದು."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"ಸಿಸ್ಟಂ OpenGL ES ಡ್ರೈವರ್ ಅನ್ನು ಬದಲಾಯಿಸಲು ರೀಬೂಟ್ ಅಗತ್ಯವಿದೆ"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ಆ್ಯಪ್‌ ಹೊಂದಾಣಿಕೆಗೆ ಬದಲಾವಣೆಗಳು"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ಆ್ಯಪ್ ಹೊಂದಾಣಿಕೆ ಬದಲಾವಣೆಗಳನ್ನು ಟಾಗಲ್ ಮಾಡಿ"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ಬೇಡ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ರದ್ದುಮಾಡಿ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ಬದಲಿಸಿ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ಆಫ್ ಮಾಡಿ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ಸಿಮ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ಸಿಮ್ ಅನ್ನು ಮತ್ತೆ ಆನ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ. ಸಮಸ್ಯೆ ಮುಂದುವರಿದರೆ, ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ನೆಟ್‌ವರ್ಕ್ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ಆ್ಯಪ್‌ ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{ಕಳೆದ # ತಿಂಗಳಲ್ಲಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳು}one{ಕಳೆದ # ತಿಂಗಳಲ್ಲಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳು}other{ಕಳೆದ # ತಿಂಗಳಲ್ಲಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳು}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# ತಿಂಗಳ ಹಿಂದೆ ಆ್ಯಪ್‌ಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿದೆ}one{# ತಿಂಗಳುಗಳ ಹಿಂದೆ ಆ್ಯಪ್‌ಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿದೆ}other{# ತಿಂಗಳುಗಳ ಹಿಂದೆ ಆ್ಯಪ್‌ಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿದೆ}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"ಸೂಚಿಸಿರುವ ಆ್ಯಪ್‌ಗಳು"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"ನೀವು ಅತಿಕ್ರಮಿಸಿರುವ ಆ್ಯಪ್‌ಗಳು"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ಆ್ಯಪ್ ಡೀಫಾಲ್ಟ್"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಸೆನ್ಸರ್"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ಫ್ಲಾಶ್ ನೋಟಿಫಿಕೇಶನ್‌ಗಳು"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ಫ್ಲ್ಯಾಶ್ ನೋಟಿಫಿಕೇಶನ್‌ಗಳ ಕುರಿತು"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ಆನ್"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ಆಫ್"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ಆನ್"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ನೀವು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮ್ಮ ಸಾಧನದ ಹೆಸರು ಗೋಚರಿಸುತ್ತದೆ. ನೀವು ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳಿಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ, ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ ಅಥವಾ ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿದಾಗ ಇತರ ಜನರು ಸಹ ಅದನ್ನು ನೋಡಬಹುದು."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"ವ್ಯಾಕರಣ ಲಿಂಗ"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ವ್ಯಾಕರಣದ ಲಿಂಗವನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 6b2ba38..4bfc247 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"얼굴 및 <xliff:g id="WATCH">%s</xliff:g> 추가됨"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"얼굴, 지문, <xliff:g id="WATCH">%s</xliff:g> 추가됨"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"얼굴, 지문, <xliff:g id="WATCH">%s</xliff:g> 추가됨"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"얼굴 인식/지문 잠금 해제"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"지문 및 얼굴 인식 잠금 해제"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"직장용 얼굴 인식/지문 잠금 해제"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"설정 필요"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"얼굴 및 지문 추가됨"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • 얼굴"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"비밀번호 • 얼굴"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"얼굴 인식 잠금 해제 없이 계속하기"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"패턴 • 얼굴 인식 • 지문"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • 얼굴 인식 • 지문"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"비밀번호 • 얼굴 인식 • 지문"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"얼굴 인식 또는 지문 없이 계속"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"지문 또는 얼굴 인식 없이 계속"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"없음"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"스와이프"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"패턴"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"사용 안함"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"디스플레이 화이트 밸런스"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"접혀 있을 때 잠금 해제된 상태로 유지"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"접혀 있을 때 화면 자동 잠금 시간까지 전면 디스플레이를 잠금 해제된 상태로 유지"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"스무스 디스플레이"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"일부 콘텐츠의 화면 재생 빈도를 자동으로 60Hz에서 <xliff:g id="ID_1">%1$s</xliff:g>Hz로 늘립니다. 배터리 사용량이 증가합니다."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"가장 높은 새로고침 빈도 강제 적용"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"화면 고정"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"직장 보안 확인, 직장, 프로필"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"직장 프로필, 관리된 프로필, 통합, 통합형, 직장, 프로필"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"절전 모드 해제, 절전 모드, 잠그지 않음, 접었을 때 잠금 해제 상태 유지, 접기, 닫기, 접음, 닫음, 화면 끔"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"동작"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"월렛"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"결제, 탭, 결제"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE 사용 설정"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"시스템 OpenGL ES 드라이버로 ANGLE 사용 설정"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"기본 OpenGL ES 드라이버로 ANGLE 사용 설정 호환되지 않는 기기에서 사용 설정하면 일부 애플리케이션을 손상시킬 수 있습니다."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"시스템 OpenGL ES 드라이버를 변경하려면 재부팅해야 합니다."</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"앱 호환성 변경사항"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"앱 호환성 변경사항 전환"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"사용 안함"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"취소"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"전환"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"사용 중지"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM을 활성화할 수 없음"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM을 다시 사용 설정해 보세요. 그래도 문제가 지속되면 기기를 다시 시작하세요."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"네트워크 활성화"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"앱 제거"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{지난 #개월 내에 설치된 앱}other{지난 #개월 내에 설치된 앱}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{앱이 설치된 지 #개월 이상 지남}other{앱이 설치된 지 #개월 이상 지남}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"추천 앱"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"재정의한 앱"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"앱 기본값"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"지문 센서"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"플래시 알림"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"플래시 알림 정보"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"사용"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"사용 안함"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"사용"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"기기 이름이 설치한 앱에 표시됩니다. 블루투스 기기 및 Wi-Fi 네트워크에 연결하거나 Wi-Fi 핫스팟을 설정할 때도 기기 이름이 다른 사용자에게 표시될 수 있습니다."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"문법적 성별"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"문법적 성별 선택"</string>
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 093c32a..74007c4 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Жүз жана <xliff:g id="WATCH">%s</xliff:g> кошулду"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Жүз, манжа издери жана <xliff:g id="WATCH">%s</xliff:g> кошулду"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Жүз, манжа издери жана <xliff:g id="WATCH">%s</xliff:g> кошулду"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Түзмөктү жүз жана манжа изи менен ачуу"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Манжа изи жана Жүзүнөн таанып ачуу"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Жумуш профилинде жүз жана манжа изи менен ачуу функциясы"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Коюу керек"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Жүз жана манжа изи кошулду"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN код • Жүз"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Сырсөз • Жүз"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Жүзүнөн таанып ачуу функциясыз уланта берүү"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Графикалык ачкыч • Жүз • Манжа изи"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN код • Жүз • Манжа изи"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Сырсөз • Жүз • Манжа изи"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Жүз же манжа изисиз улантуу"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Манжа изи же жүзүнөн таануу функциясы жок эле улантуу"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Жок"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Экранды сүрүү"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Графикалык ачкыч"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Өчүк"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Экрандын ак балансы"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Бүктөлгөндө кулпуланбасын"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Бүктөлгөндө экрандын өчүү убакытына чейин алдыңкы экран кулпуланбасын"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Айрым нерселер үчүн экрандын жаңыруу жыштыгы 60 Герцтен <xliff:g id="ID_1">%1$s</xliff:g> Герцке чейин өзгөрөт. Батарея тез отуруп калышы мүмкүн"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Экрандын жаңыруу жыштыгын жогорулатуу"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"экранга кадоо"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"жумуш тапшырмасы, жумуш, профиль"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"жумуш профили, башкарылган профиль, бириктир, бириктирүү, жумуш, профиль"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ойгоо, уйку режими, кулпуланбасын, бүктөлгөндө кулпуланбасын, бүктөлүүдө, жабуу, бүктөө, жабуу, өчүк экран"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"жаңсоолор"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"капчык"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"төлөө, таптоо, төлөмдөр"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE\'ди иштетүү"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE\'ди системанын OpenGL ES драйвери катары иштетүү"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE\'ди демейки OpenGL ES драйвери катары иштетиңиз. Ал шайкеш келбеген түзмөктөрдө иштетилсе, айрым колдонмолор бузулушу мүмкүн."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Тутумдун OpenGL ES драйверин өзгөртүү үчүн өчүрүп-күйгүзүү керек"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Колдонмонун шайкештигиндеги өзгөрүүлөр"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Колдонмонун шайкештигине киргизилген өзртүүлөрдү өчүрүү/күйгүзүү"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Жок, рахмат"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Жок"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Которулуу"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Өчүрүү"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-карта иштетилген жок"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM-картаны кайра күйгүзүп көрүңүз. Эгер маселе чечилбесе, түзмөктү өчүрүп күйгүзүңүз."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Тармакты иштетүү"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Колдонмону чыгарып салуу"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Акыркы # айдын ичинде орнотулган колдонмолор}other{Акыркы # айдын ичинде орнотулган колдонмолор}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# айдан ашуун убакыт мурун орнотулган колдонмолор}other{# айдан ашуун убакыт мурун орнотулган колдонмолор}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Сунушталган колдонмолор"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Сиз өзгөртүп койгон колдонмолор"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Колдонмодогу демейки маани"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Манжа изинин сенсору"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Жарык менен коштолгон билдирмелер"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Жарык менен коштолгон билдирмелер жөнүндө"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Күйүк"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Өчүк"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Күйүк"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Түзмөгүңүздүн аталышы орнотулган колдонмолорго көрүнүп турат. Ошондой эле, Bluetooth түзмөктөрүнө, Wi‑Fi тармагына туташып же Wi‑Fi байланыш түйүнүн тууралаганыңызда башка адамдарга көрүнүшү мүмкүн."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Грамматикалык жак"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Грамматикалык жакты тандаңыз"</string>
 </resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index 904a048..f28b061 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ເພີ່ມໃບໜ້າ ແລະ <xliff:g id="WATCH">%s</xliff:g> ແລ້ວ"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ເພີ່ມໃບໜ້າ, ລາຍນິ້ວມື ແລະ <xliff:g id="WATCH">%s</xliff:g> ແລ້ວ"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ເພີ່ມໃບໜ້າ, ລາຍນິ້ວມື ແລະ <xliff:g id="WATCH">%s</xliff:g> ແລ້ວ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ປົດລັອກດ້ວຍໜ້າ ແລະ ລາຍນິ້ວມື"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ປົດລັອກດ້ວຍລາຍນິ້ວມື ແລະ ໜ້າ"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ການປົດລັອກດ້ວຍໜ້າ ແລະ ລາຍນິ້ວມືສຳລັບການເຮັດວຽກ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ຕ້ອງຕັ້ງຄ່າ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ເພີ່ມໜ້າ ແລະ ລາຍນິ້ວມືແລ້ວ"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • ໃບໜ້າ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"ລະຫັດຜ່ານ • ໃບໜ້າ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ສືບຕໍ່ໂດຍບໍ່ຕ້ອງໃຊ້ການປົດລັອກດ້ວຍໜ້າ"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"ຮູບແບບ • ໜ້າ • ລາຍນິ້ວມື"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • ໜ້າ • ລາຍນິ້ວມື"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"ລະຫັດຜ່ານ • ໜ້າ • ລາຍນິ້ວມື"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ສືບຕໍ່ໂດຍບໍ່ໃຊ້ໜ້າ ຫຼື ລາຍນິ້ວມື"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ສືບຕໍ່ໂດຍບໍ່ຕ້ອງໃຊ້ລາຍນິ້ວມື ຫຼື ໃບໜ້າ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ບໍ່ໃຊ້"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ປັດ​ໄປ​ຂ້າງ"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ຮູບແບບປົດລັອກ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ປິດ"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"ສະແດງສົມດຸນສີຂາວ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ປົດລັອກຄ້າງໄວ້ເມື່ອພັບ"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"ປົດລັອກໜ້າຈໍດ້ານໜ້າຄ້າງໄວ້ເມື່ອພັບຈົນຮອດໄລຍະໝົດເວລາໜ້າຈໍ"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ເພີ່ມອັດຕາການຣີເຟຣຊຈາກ 60 ເປັນ <xliff:g id="ID_1">%1$s</xliff:g> Hz ສຳລັບເນື້ອຫາຈຳນວນໜຶ່ງໂດຍອັດຕະໂນມັດ. ຈະໃຊ້ແບັດເຕີຣີຫຼາຍຂຶ້ນ."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ບັງຄັບອັດຕາຣີເຟຣຊສູງສຸດ"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ການປັກໝຸດໜ້າຈໍ"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"ສິ່ງທ້າທາຍດ້ານວຽກເຮັດ, ວຽກ, ໂປຣໄຟລ໌"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ, ໂປຣໄຟລ໌ທີ່ມີການຈັດການ, ຮວມ, ການຮວມ, ວຽກ, ໂປຣໄຟລ໌"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ຕື່ນ, ນອນ, ບໍ່ລັອກ, ປົດລັອກຄ້າງໄວ້ເມື່ອພັບ, ການພັບ, ການປິດ, ພັບ, ປິດ, ປິດໜ້າຈໍ"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ທ່າທາງ"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ເປີດການນຳໃຊ້ ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ເປີດການນຳໃຊ້ ANGLE ເປັນໄດຣເວີ OpenGL ES ຂອງລະບົບ"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ເປີດການນຳໃຊ້ ANGLE ເປັນໄດຣເວີ OpenGL ES ເລີ່ມຕົ້ນ. ການເປີດໃຊ້ໃນອຸປະກອນທີ່ເຂົ້າກັນບໍ່ໄດ້ອາດເຮັດໃຫ້ແອັບພລິເຄຊັນບາງຢ່າງເສຍຫາຍ."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"ຈຳເປັນຕ້ອງປິດເປີດໃໝ່ເພື່ອປ່ຽນໄດຣເວີ OpenGL ES ຂອງລະບົບ"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ການປ່ຽນແປງຄວາມເຂົ້າກັນໄດ້ຂອງແອັບ"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ສະຫຼັບການປ່ຽນແປງຄວາມເຂົ້າກັນໄດ້ຂອງແອັບ"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ບໍ່, ຂອບໃຈ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ຍົກເລີກ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ສະຫຼັບ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ປິດ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ບໍ່ສາມາດເປີດນຳໃຊ້ຊິມໄດ້"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ໃຫ້ລອງເປີດຊິມຄືນໃໝ່. ຫາກຍັງຄົງພົບບັນຫາຢູ່, ໃຫ້ຣີສະຕາດອຸປະກອນຂອງທ່ານ."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ການເປີດນຳໃຊ້ເຄືອຂ່າຍ"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ຖອນການຕິດຕັ້ງແອັບ"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{ແອັບທີ່ຕິດຕັ້ງໃນ # ເດືອນທີ່ຜ່ານມາ}other{ແອັບທີ່ຕິດຕັ້ງໃນ # ເດືອນທີ່ຜ່ານມາ}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{ແອັບທີ່ຕິດຕັ້ງຫຼາຍກວ່າ # ເດືອນທີ່ຜ່ານມາ}other{ແອັບທີ່ຕິດຕັ້ງຫຼາຍກວ່າ # ເດືອນທີ່ຜ່ານມາ}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"ແອັບແນະນຳ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"ແອັບທີ່ທ່ານໄດ້ຍົກເລີກການຕັ້ງຄ່າ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ຄ່າເລີ່ມຕົ້ນຂອງແອັບ"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"ເຊັນເຊີລາຍນິ້ວມື"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ການແຈ້ງເຕືອນດ້ວຍແຟລດ"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ກ່ຽວກັບການແຈ້ງເຕືອນດ້ວຍແຟລດ"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ເປີດ"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ປິດ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ເປີດ"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ຊື່ອຸປະກອນຂອງທ່ານຈະສະແດງໃຫ້ແອັບທີ່ທ່ານຕິດຕັ້ງໄວ້ເຫັນ. ມັນອາດຖືກສະແດງໃຫ້ຄົນອື່ນເຫັນໃນເວລາທີ່ທ່ານເຊື່ອມຕໍ່ຫາອຸປະກອນ Bluetooth, ເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍ Wi-Fi ຫຼື ຕັ້ງຄ່າຮັອດສະປອດ Wi-Fi ນຳ."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"ເພດທາງໄວຍາກອນ"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ເລືອກເພດທາງໄວຍາກອນ"</string>
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index a09e1aa..239f474 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Pridėti veido ir <xliff:g id="WATCH">%s</xliff:g> duomenys"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Pridėti veido, piršto atspaudo ir <xliff:g id="WATCH">%s</xliff:g> duomenys"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Pridėti veido, piršto atspaudų ir <xliff:g id="WATCH">%s</xliff:g> duomenys"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Atrakinimas pagal veidą ir piršto atspaudu"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Piršto atspaudas ir atrakinimas pagal veidą"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Atrakinimas pagal veidą ir piršto atspaudu darbe"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Reikia nustatyti"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Pridėtas veidas ir kontroliniai kodai"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN kodas • Veido atpažinimas"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Slaptažodis • Veido atpažinimas"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Tęsti nenaudojant atrakinimo pagal veidą"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Atrak. piešinys • Veidas • Kontrolinis kodas"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN kodas • Veidas • Kontrolinis kodas"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Slaptažodis • Veidas • Kontrolinis kodas"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Tęsti be veido atpažinimo ar kontrolinio kodo"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Tęsti be piršto atspaudo ar atpažinimo pagal veidą"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Nėra"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Perbraukti"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Piešinys"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Išjungta"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Pateikti baltos spalv. balansą"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Palikti atrakintą sulenkiant"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Palikti priekinį ekraną atrakintą sulenkiant, kol baigiasi ekrano skirtasis laikas"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Ekrano glodinimas"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatiškai padidinamas kai kurio turinio atnaujinimo dažnis nuo 60 iki <xliff:g id="ID_1">%1$s</xliff:g> Hz. Vartojama daugiau akumuliatoriaus energijos."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Priverstinai nustatyti didžiausią atnaujinimo dažnį"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ekrano prisegimas"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"darbo iššūkis, darbas, profilis"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"darbo profilis, tvarkomas profilis, suvienodinti, suvienodinimas, darbas, profilis"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"budrus, miegas, neužrakinti, plikti atrakintą sulenkiant, sulenkimas, uždarymas, sulenkti, uždaryti, ekranas išjungtas"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestai"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"mokėti, paliesti, mokėjimai"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Įgalinti ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Įgalinti ANGLE kaip sistemos „OpenGL ES“ tvarkyklę"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Įgalinti ANGLE kaip numatytąją „OpenGL ES“ tvarkyklę. Įgalinus nesuderinamuose įrenginiuose gali būti sugadintos kai kurios programos."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Norint pakeisti sistemos „OpenGL ES“ tvarkyklę, būtina paleisti iš naujo"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Programos suderinamumo pakeitimai"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Perjungti programos suderinamumo pakeitimus"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, ačiū"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Atšaukti"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Perjungti"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Išjungti"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nepavyko suaktyvinti SIM kortelės"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Pabandykite vėl įjungti SIM kortelę. Jei problema išlieka, iš naujo paleiskite įrenginį."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Tinklo aktyvinimas"</string>
@@ -4705,6 +4706,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Pašalinti programą"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Programos įdiegtos per pastarąjį # mėnesį}one{Programos įdiegtos per pastaruosius # mėnesį}few{Programos įdiegtos per pastaruosius # mėnesius}many{Programos įdiegtos per pastaruosius # mėnesio}other{Programos įdiegtos per pastaruosius # mėnesių}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Programos įdiegtos daugiau nei prieš # mėnesį}one{Programos įdiegtos daugiau nei prieš # mėnesį}few{Programos įdiegtos daugiau nei prieš # mėnesius}many{Programos įdiegtos daugiau nei prieš # mėnesio}other{Programos įdiegtos daugiau nei prieš # mėnesių}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Kraštinių santykis"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Pasirinkite kraštinių santykių ir peržiūrėkite, kaip atrodytų ši programa, jei nebūtų sukurta jūsų „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Siūlomos programos"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Nepaisomos programos"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Numatytasis programos nustatymas"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Viso ekrano režimas"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Pusė ekrano"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Įrenginio kraštinių santykis"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"Programa bus paleista iš naujo, kai pakeisite kraštinių santykį. Neišsaugoti pakeitimai gali būti prarasti."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Piršto atspaudo jutiklis"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Mirksėjimo pranešimai"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Apie mirksėjimo pranešimus"</string>
@@ -4755,4 +4768,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Įjungta"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Išjungta"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Įjungta"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Įrenginio pavadinimas matomas jūsų įdiegtoms programoms. Kai prisijungiate prie „Bluetooth“ įrenginių ar „Wi-FI“ tinklo arba nustatote „Wi-Fi“ viešosios interneto prieigos tašką, jį taip pat gali matyti kiti žmonės."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatinė giminė"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pasirinkite gramatinę giminę"</string>
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index 83f91c1..5864ec7 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Pievienota seja un pulkstenis <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Pievienota seja, pirksta nospiedums un pulkstenis <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Pievienota seja, pirkstu nospiedumi un pulkstenis <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Autorizācija pēc sejas un pirksta nospieduma"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Autorizācija ar pirksta nospiedumu un pēc sejas"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Autorizācija pēc sejas un pirksta nospieduma darba profilam"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Nepieciešama iestatīšana"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Seja un pirksta nospiedumi ir pievienoti"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Seja"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Parole • Seja"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Turpināt bez autorizācijas pēc sejas"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Kombinācija • seja • pirksta nospiedums"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • seja • pirksta nospiedums"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Parole • seja • pirksta nospiedums"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Turpināt, neiestatot seju vai pirksta nospiedumu"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Turpināt bez pirksta nospieduma vai autorizācijas pēc sejas"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Nav"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Vilkšana"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Kombinācija"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Izslēgts"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Displeja baltās krāsas balanss"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Salokot nebloķēt"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Kad ierīce ir salocīta, priekšējais displejs paliek atbloķēts līdz ekrāna noildzei."</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Noteikta satura atsvaidzināšanas biežums tiek automātiski palielināts no 60 līdz <xliff:g id="ID_1">%1$s</xliff:g> Hz. Tas palielina akumulatora lietojumu."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Piespiedu maksimālais atsvaidzināšanas biežums"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ekrāna piespraušana"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"drošības uzdevums darba profilā, darbs, profils"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"darba profils, pārvaldīts profils, apvienot, apvienošana, darbs, profils"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"nepāriet miega režīmā, miega režīms, nebloķēt, salokot nebloķēt, notiek salocīšana, notiek aizvēršana, salocīt, aizvērt, ekrāns izslēgts"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"žesti"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"maks"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"maksāt, pieskarties, maksājumi"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Iespējot ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Iespējot ANGLE kā sistēmas OpenGL ES draiveri"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Iespējojiet ANGLE kā noklusējuma OpenGL ES draiveri. Ja iespējosiet to nesaderīgās ierīcēs, var tikt pārtraukta dažu lietojumprogrammu darbība."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Lai mainītu sistēmas OpenGL ES draiveri, nepieciešama atkārtota palaišana."</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Lietotņu saderības iestatījumu izmaiņas"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Pārslēdziet lietotņu saderības iestatījumu izmaiņas"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nē, paldies"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Atcelt"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Pārslēgt"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Izslēgt"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nevar aktivizēt SIM karti"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Mēģiniet atkal ieslēgt SIM karti. Ja problēma nav novērsta, restartējiet savu ierīci."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Tīkla aktivizācija"</string>
@@ -4704,6 +4705,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Atinstalēt lietotni"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Pēdējā # mēneša laikā instalētās lietotnes}zero{Pēdējo # mēnešu laikā instalētās lietotnes}one{Pēdējā # mēneša laikā instalētās lietotnes}other{Pēdējo # mēnešu laikā instalētās lietotnes}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Pirms vairāk nekā # mēneša instalētās lietotnes}zero{Pirms vairāk nekā # mēnešiem instalētās lietotnes}one{Pirms vairāk nekā # mēneša instalētās lietotnes}other{Pirms vairāk nekā # mēnešiem instalētās lietotnes}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Ieteiktās lietotnes"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Jūsu ignorētās lietotnes"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Lietotnes noklusējums"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Pirksta nospieduma sensors"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Zibpaziņojumi"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Par zibpaziņojumiem"</string>
@@ -4754,4 +4773,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ieslēgta"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Izslēgti"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ieslēgti"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Jūsu ierīces nosaukums ir redzams jūsu instalētajām lietotnēm. Tas var būt redzams arī citām personām, ja izveidosiet savienojumu ar Bluetooth ierīcēm, Wi-Fi tīklu vai iestatīsiet Wi-Fi tīklāju."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatiskā dzimte"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Atlasiet gramatisko dzimti"</string>
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 5f938fc..98eadc4 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Додадени се лик и <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Додадени се лик, отпечаток и <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Додадени се лик, отпечатоци и <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Отклучување со лик и отпечаток"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отклучување со отпечаток и лик"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Отклучување со лик и отпечаток за работа"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Потребно е поставување"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ликот и отпечатоците се додадени"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • лик"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Лозинка • лик"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Продолжете без „Отклучување со лик“"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Шема • Лик • Отпечаток"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Лик • Отпечаток"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Лозинка • Лик • Отпечаток"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Продолжи без лик или отпечаток"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Продолжете без отпечаток или лик"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Нема"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Повлечи"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Шема"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Исклучена"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс на бела боја на екранот"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Отклучен кога е преклопен"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Оставете го предниот екран отклучен кога е преклопен додека да се исклучи екранот"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Течен приказ"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Автоматски ја зголемува стапката на освежување од 60 на <xliff:g id="ID_1">%1$s</xliff:g> Hz за некои содржини. Го зголемува користењето на батеријата."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Наметни максимална стапка на освежување"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"прикачување екран"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"работен предизвик, работа, профил"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"работен профил, управуван профил, унифицирај, унифицирање, работа, профил"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"будна состојба, спиење, не заклучувај, остани отклучен при преклопување, преклопување, затворање, преклопување, затворање, исклучен екран"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"движења"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"плати, допри, плаќања"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Овозможи ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Овозможи ANGLE како драјвер за системот OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Овозможете ANGLE како стандарден драјвер за OpenGL ES Овозможувањето некомпатибилни уреди може да ја наруши работата на одредени апликации."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Потребно е рестартирање за да се промени драјверот за системот OpenGL ES"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Промени за компатибилност на апликациите"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Вклучување/исклучување на промените за компатибилност на апликациите"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Не, фала"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Откажи"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Префрли"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Исклучи"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Не може да се активира SIM-картичката"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Обидете се повторно да ја вклучите SIM-картичката. Ако и понатаму се соочувате со проблемот, рестартирајте го уредот."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активирање на мрежата"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Деинсталирај ја апликацијата"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Апликации инсталирани во минатиот # месец}one{Апликации инсталирани во минатите # месец}other{Апликации инсталирани во минатите # месеци}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Апликации инсталирани пред повеќе од # месец}one{Апликации инсталирани пред повеќе од # месец}other{Апликации инсталирани пред повеќе од # месеци}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Предложени апликации"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Апликации што сте ги отфрлиле"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Стандардно за апликацијата"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Сензор за отпечатоци"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Известувања со блиц"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"За известувањата со блиц"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Вклучено"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Исклучено"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Вклучено"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Името на уредот е видливо за апликациите што сте ги инсталирале. Може да го видат и други луѓе кога ќе се поврзете со уреди со Bluetooth, на Wi-Fi мрежа или кога ќе поставите точка на пристап за Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматички род"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Изберете граматички род"</string>
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 98e50a6..2a803e2 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"മുഖവും <xliff:g id="WATCH">%s</xliff:g> എന്നതും ചേർത്തു"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"മുഖവും ഫിംഗർപ്രിന്റും <xliff:g id="WATCH">%s</xliff:g> എന്നതും ചേർത്തു"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"മുഖവും ഫിംഗർപ്രിന്റുകളും <xliff:g id="WATCH">%s</xliff:g> എന്നതും ചേർത്തു"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ഫെയ്‌സ്, ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ഫിംഗർപ്രിന്റ് &amp; ഫേസ് അൺലോക്ക്"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ഔദ്യോഗികാവശ്യത്തിനുള്ള ഫെയ്‌സ്, ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"സജ്ജീകരിക്കേണ്ടതുണ്ട്"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"മുഖവും ഫിംഗർപ്രിന്റുകളും ചേർത്തു"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"പിൻ • മുഖം"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"പാസ്‍വേഡ് • മുഖം"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ഫെയ്‌സ് അൺലോക്ക് ഇല്ലാതെ തുടരുക"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"പാറ്റേൺ • മുഖം • ഫിംഗർപ്രിന്റ്"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"പിൻ • മുഖം • ഫിംഗർപ്രിന്റ്"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"പാസ്‍വേഡ് • മുഖം • ഫിംഗർപ്രിന്റ്"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"മുഖമോ ഫിംഗർപ്രിന്റോ ഇല്ലാതെ തുടരുക"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ഫിംഗർപ്രിന്റോ മുഖമോ നൽകാതെ തുടരുക"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ഒന്നുമില്ല"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"സ്വൈപ്പ് ചെയ്യുക"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"പാറ്റേൺ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ഓഫ്"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"വൈറ്റ് ബാലന്‍സ് പ്രദര്‍ശിപ്പിക്കുക"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ഫോൾഡിൽ അൺലോക്കായി തുടരുക"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"ഫോൾഡ് ചെയ്‌തിരിക്കുമ്പോൾ, സ്‌ക്രീൻ ടൈം ഔട്ട് ആകുന്നത് വരെ ഫ്രണ്ട് ഡിസ്പ്ലേ അൺലോക്ക് ആക്കി വയ്‌ക്കുക"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"സ്‌മൂത്ത് ഡിസ്പ്ലേ"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ചില ഉള്ളടക്കങ്ങളുടെ റീഫ്രഷ് തോത് 60-ൽ നിന്നും <xliff:g id="ID_1">%1$s</xliff:g> Hz-ലേക്ക് സ്വയമേവ ഉയർത്തുന്നു. ബാറ്ററി ഉപയോഗം വർദ്ധിപ്പിക്കുന്നു."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"പരമാവധി റീഫ്രഷ് നിരക്ക് നിർബന്ധിതമാക്കുക"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"സ്ക്രീൻ പിൻ ചെയ്യൽ"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"ഔദ്യോഗിക വെല്ലുവിളി, ഔദ്യോഗികം, പ്രൊഫൈൽ"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"ഔദ്യോഗിക പ്രൊഫൈൽ, മാനേജുചെയ്യപ്പെടുന്ന പ്രൊഫൈൽ, ഏകീകരിക്കുക, ഏകീകരിക്കൽ, ഔദ്യോഗികം, പ്രൊഫൈൽ"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"സജീവം, സ്ലീപ്പ്, ലോക്ക് ചെയ്യരുത്, ഫോൾഡിൽ അൺലോക്ക് ആയി തുടരുക, ഫോൾഡ് ചെയ്യുന്നു, അടയ്‌ക്കുന്നു, ഫോൾഡ് ചെയ്യുക, അടയ്‌ക്കുക, സ്‌ക്രീൻ ഓഫാണ്"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ജെസ്‌ചറുകൾ"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"പണമടയ്ക്കുക. ടാപ്പുചെയ്യുക, പേയ്‌മെന്റുകൾ"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ആംഗിൾ പ്രവർത്തനക്ഷമമാക്കുക"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"സിസ്റ്റം OpenGL ES ഡ്രൈവറായി ആംഗിൾ പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ഡിഫോൾട്ട് OpenGL ES ഡ്രൈവറായി ആംഗിൾ പ്രവർത്തനക്ഷമമാക്കുക. അനുയോജ്യമല്ലാത്ത ഉപകരണങ്ങളിൽ ഇത് പ്രവർത്തനക്ഷമമാക്കുന്നത് ചില ആപ്പുകൾ ബ്രേക്ക് ചെയ്യാൻ ഇടയാക്കിയേക്കാം."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"സിസ്റ്റം OpenGL ES ഡ്രൈവർ മാറ്റാൻ റീബൂട്ട് ചെയ്യേണ്ടതുണ്ട്"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ആപ്പ് അനുയോജ്യതാ മാറ്റങ്ങൾ"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ആപ്പ് അനുയോജ്യതാ മാറ്റങ്ങൾ ടോഗിൾ ചെയ്യുക"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"വേണ്ട"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"റദ്ദാക്കുക"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"മാറുക"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ഓഫാക്കുക"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM സജീവമാക്കാനാകില്ല"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM വീണ്ടും ഓണാക്കാൻ ശ്രമിക്കുക. പ്രശ്‌നം തുടരുകയാണെങ്കിൽ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്യുക."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"നെറ്റ്‌വർക്ക് സജീവമാക്കൽ"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ആപ്പ് അൺഇൻസ്‌റ്റാൾ ചെയ്യുക"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{കഴിഞ്ഞ # മാസത്തിനിടെ ഇൻസ്റ്റാൾ ചെയ്ത ആപ്പുകൾ}other{കഴിഞ്ഞ # മാസത്തിനിടെ ഇൻസ്റ്റാൾ ചെയ്ത ആപ്പുകൾ}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# മാസത്തിന് മുമ്പ് ഇൻസ്‌റ്റാൾ ചെയ്ത ആപ്പുകൾ}other{# മാസത്തിന് മുമ്പ് ഇൻസ്‌റ്റാൾ ചെയ്ത ആപ്പുകൾ}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"വീക്ഷണ അനുപാതം"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> എന്ന ഉപകരണത്തിന് അനുയോജ്യമായ രീതിയിലല്ല ഈ ആപ്പ് രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നതെങ്കിൽ, അത് കാണുന്നതിന് ഒരു വീക്ഷണ അനുപാതം തിരഞ്ഞെടുക്കുക"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"നിർദ്ദേശിക്കുന്ന ആപ്പുകൾ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"നിങ്ങൾ അസാധുവാക്കിയ ആപ്പുകൾ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ആപ്പ് ഡിഫോൾട്ട്"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"പൂർണ്ണ സ്‌ക്രീൻ"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"പകുതി സ്ക്രീൻ"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"ഉപകരണ വീക്ഷണ അനുപാതം"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"നിങ്ങൾ വീക്ഷണ അനുപാതം മാറ്റുമ്പോൾ ആപ്പ് റീസ്റ്റാർട്ട് ചെയ്യും. സംരക്ഷിക്കാത്ത മാറ്റങ്ങൾ നിങ്ങൾക്ക് നഷ്‌ടമായേക്കാം."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"ഫിംഗർപ്രിന്റ് സെൻസർ"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ഫ്ലാഷ് അറിയിപ്പുകൾ"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ഫ്ലാഷ് അറിയിപ്പുകളെ കുറിച്ച്"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ഓണാണ്"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ഓഫാണ്"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ഓണാണ്"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്‌ത ആപ്പുകൾക്ക് നിങ്ങളുടെ ഉപകരണത്തിന്റെ പേര് ദൃശ്യമാണ്. Bluetooth ഉപകരണങ്ങളിലേക്കോ വൈഫൈ നെറ്റ്‌വർക്കിലേക്കോ കണക്റ്റ് ചെയ്യുമ്പോഴോ ഒരു വൈഫൈ ഹോട്ട്സ്പോട്ട് സജ്ജീകരിക്കുമ്പോഴോ ഇത് മറ്റ് ആളുകൾക്കും കാണാനായേക്കും."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"വ്യാകരണ ലിംഗഭേദം"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"വ്യാകരണ ലിംഗഭേദം തിരഞ്ഞെടുക്കുക"</string>
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index 84ee7e2..07c0a1e 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Царай болон <xliff:g id="WATCH">%s</xliff:g>-г нэмсэн"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Царай, хурууны хээ болон <xliff:g id="WATCH">%s</xliff:g>-г нэмсэн"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Царай, хурууны хээ болон <xliff:g id="WATCH">%s</xliff:g>-г нэмсэн"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Царай, хурууны хээгээр түгжээ тайлах"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Хурууны хээ болон Царайгаар түгжээ тайлах"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ажилд зориулсан Царай, хурууны хээгээр түгжээ тайлах"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Тохируулга шаардлагатай"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Царай болон хурууны хээнүүд нэмсэн"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"ПИН • Царай"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Нууц үг • Царай"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Царайгаар түгжээ тайлахгүйгээр үргэлжлүүлэх"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Хээ • Царай • Хурууны хээ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"ПИН • Царай • Хурууны хээ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Нууц үг • Царай • Хурууны хээ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Царай эсвэл хурууны хээгүйгээр үргэлжлүүлэх"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Хурууны хээ эсвэл царайгүйгээр үргэлжлүүлэх"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Байхгүй"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Шудрах"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Хээ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Идэвхгүй"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Дэлгэцийн цайралтын тэнцвэр"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Эвхэхэд түгжээгүй хэвээр байлга"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Дэлгэцийн хугацаа болох хүртэл эвхсэн үед урд талын дэлгэцийг түгжээгүй хэвээр байлгах"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Зарим контентын сэргээх хурдыг автоматаар 60-с <xliff:g id="ID_1">%1$s</xliff:g> Гц болгож өсгөнө. Батарей ашиглалтыг нэмэгдүүлнэ."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Сэргээх хамгийн өндөр хурдыг хүчлэх"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"дэлгэц тогтоох"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"ажлын сорилт, ажил, профайл"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"ажлын профайл, удирдсан профайл, нэгтгэх, нэгдэл, ажил, профайл"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"идэвхтэй, идэвхгүй, бүү түгж, эвхэх үед түгжээгүй хэвээр байлгах, эвхэх, хаах, эвхэх, хаах, дэлгэц унтраалттай"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"зангаа"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"төлөх, товших, төлбөр"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE-г идэвхжүүлэх"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE-г системийн OpenGL ES драйвераар идэвхжүүлэх"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE-г өгөгдмөл OpenGL ES драйвераар идэвхжүүлнэ үү. Үүнийг тохиромжгүй төхөөрөмжүүдэд идэвхжүүлэх нь зарим аппликэйшнийг гэмтээж магадгүй."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Системийн OpenGL ES драйверыг өөрчлөхөд дахин асаах шаардлагатай"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Аппын тохирох байдлын өөрчлөлт"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Аппын тохирох байдлын өөрчлөлтийг идэвхгүй болгох/идэвхжүүлэх"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Үгүй, баярлалаа"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Цуцлах"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Сэлгэх"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Унтраах"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-г идэвхжүүлэх боломжгүй"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM-г дахин асааж үзнэ үү. Хэрэв асуудал үргэлжилсээр байвал төхөөрөмжөө дахин эхлүүлнэ үү."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Сүлжээг идэвхжүүлэх"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Аппыг устгах"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Сүүлийн # сард суулгасан аппууд}other{Сүүлийн # сард суулгасан аппууд}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# сар гаруйн өмнө суулгасан аппууд}other{# сар гаруйн өмнө суулгасан аппууд}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Санал болгосон аппууд"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Таны дарсан аппууд"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Аппын өгөгдмөл"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Хурууны хээ мэдрэгч"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Гэрэл анивчдаг мэдэгдэл"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Гэрэл анивчдаг мэдэгдлийн тухай"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Асаалттай"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Унтраалттай"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Асаалттай"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Таны төхөөрөмжийн нэр суулгасан аппуудад тань харагдана. Таныг Bluetooth төхөөрөмжүүд, Wi-Fi сүлжээнд холбогдох эсвэл Wi-Fi сүлжээний цэг тохируулах үед үүнийг мөн бусад хүн харж магадгүй."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Хэл зүйн хүйс"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Хэл зүйн хүйс сонгох"</string>
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index bad025f..1a039ed 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"चेहरा आणि <xliff:g id="WATCH">%s</xliff:g> जोडले"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"चेहरा, फिंगरप्रिंट आणि <xliff:g id="WATCH">%s</xliff:g> जोडले"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"चेहरा, फिंगरप्रिंट आणि <xliff:g id="WATCH">%s</xliff:g> जोडले"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"फेस आणि फिंगरप्रिंट अनलॉक"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"फिंगरप्रिंट आणि फेस अनलॉक"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"कार्य प्रोफाइलसाठी फेस आणि फिंगरप्रिंट अनलॉक"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप आवश्यक आहे"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"चेहरा आणि फिंगरप्रिंट जोडल्या"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"पिन • फेस"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"पासवर्ड • फेस"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"फेस अनलॉक शिवाय पुढे सुरू ठेवा"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"पॅटर्न • फेस • फिंगरप्रिंट"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"पिन • फेस • फिंगरप्रिंट"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"पासवर्ड • फेस • फिंगरप्रिंट"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"फेस अनलॉक किंवा फिंगरप्रिंटशिवाय पुढे सुरू ठेवा"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"फिंगरप्रिंट किंवा फेस अनलॉकशिवाय पुढे सुरू ठेवा"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"काहीही नाही"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"स्‍वाइप करा"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"पॅटर्न"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"बंद"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"व्हाइट बॅलन्स डिस्प्ले करा"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"फोल्ड केल्यावर अनलॉक रहा"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"फोल्ड केल्यावर स्क्रीन टाइमआउट होईपर्यंत पुढील डिस्प्ले अनलॉक केलेला ठेवा"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"स्मूथ डिस्प्ले"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"काही आशयासाठी रिफ्रेश रेट ६० ते <xliff:g id="ID_1">%1$s</xliff:g> Hz पर्यंत आपोआप वाढवते. बॅटरी वापर वाढवते."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"सक्तीने सर्वोच्च रिफ्रेश रेट गाठा"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"स्‍क्रीन पिनिंग"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"कार्य आव्हान, कार्य, प्रोफाईल"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"कार्य प्रोफाईल, व्यवस्थापित केलेले प्रोफाईल, एकीकरण, एकीकरण करणे, कार्य, प्रोफाईल"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"सुरू असणे, बंद असणे, लॉक करू नका, फोल्ड केल्यावर अनलॉक केलेले रहा, फोल्ड करणे, बंद करणे, फोल्ड करा, बंद करा, स्क्रीन बंद करा"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"जेश्चर"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"वॉलेट"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"पेमेंट करा, टॅप करा, पेमेंट"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE सुरू करा"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"सिस्टीम OpenGL ES ड्रायव्हर म्हणून ANGLE सुरू करा"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"डीफॉल्ट OpenGL ES ड्रायव्हर म्हणून ANGLE सुरू करा. कंपॅटिबल नसलेल्या डिव्हाइसवर तो सुरू केल्याने काही अ‍ॅप्लिकेशनमध्ये बिघाड होऊ शकतो."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"सिस्टीम OpenGL ES ड्रायव्हर बदलण्यासाठी रीबूट करणे आवश्यक आहे"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ॲप कंपॅटिबिलिटी बदल"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ॲप कंपॅटिबिलिटी बदल टॉगल करा"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"नाही, नको"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"रद्द करा"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"स्विच करा"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"बंद करा"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"सिम ॲक्टिव्हेट करू शकत नाही"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"सिम पुन्हा सुरू करून पहा. समस्या सुरू राहिल्यास, तुमचे डिव्हाइस रीस्टार्ट करा."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"नेटवर्क अ‍ॅक्टिव्हेशन"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"अ‍ॅप अनइंस्टॉल करा"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{मागच्या # महिन्यामध्ये इंस्टॉल केलेली अ‍ॅप्स}other{मागच्या # महिन्यांमध्ये इंस्टॉल केलेली अ‍ॅप्स}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{किमान # महिन्यापूर्वी अ‍ॅप इंस्टॉल केले}other{किमान # ममहिन्यांपूर्वी अ‍ॅप इंस्टॉल केले}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"सुचवलेली अ‍ॅप्स"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"तुम्ही ओव्हरराइड केलेली अ‍ॅप्स"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"अ‍ॅप डीफॉल्ट"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"४:३"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"फिंगरप्रिंट सेन्सर"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"फ्लॅश सूचना"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"फ्लॅश सूचनांबद्दल"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"सुरू आहे"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"बंद आहे"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"सुरू आहे"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"तुम्ही इंस्टॉल केलेल्या ॲप्सना तुमच्या डिव्हाइसचे नाव दृश्यमान आहे. तुम्ही ब्लूटूथ डिव्हाइसशी कनेक्ट करता, वाय-फाय नेटवर्कशी कनेक्ट करता किंवा वाय-फाय हॉटस्पॉट सेट करता, तेव्हा हे इतर लोकदेखील पाहू शकतात."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"व्याकरणानुसार लिंगासंबंधी माहिती"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"व्याकरणानुसार लिंगासंबंधी माहिती निवडा"</string>
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 2ad55b7..a942ca4 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Wajah dan <xliff:g id="WATCH">%s</xliff:g> ditambah"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Wajah, cap jari dan <xliff:g id="WATCH">%s</xliff:g> ditambah"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Wajah, cap jari dan <xliff:g id="WATCH">%s</xliff:g> ditambah"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Buka Kunci Wajah &amp; Cap Jari"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Buka kunci cap jari &amp; wajah"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Buka Kunci Wajah &amp; Cap Jari untuk kerja"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Persediaan diperlukan"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Wajah dan cap jari ditambahkan"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Wajah"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Kata Laluan • Wajah"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Teruskan tanpa Buka Kunci Wajah"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Corak • Wajah • Cap Jari"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Wajah • Cap Jari"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Kata Laluan • Wajah • Cap Jari"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Teruskan tanpa wajah atau cap jari"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Teruskan tindakan tanpa cap jari atau wajah"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Tiada"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Leret"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Corak"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Mati"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Paparkan imbangan putih"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Kekal tidak berkunci semasa dilipat"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Kekalkan paparan depan tidak berkunci semasa dilipat sehingga tamat masa skrin"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Meningkatkan kadar segar semula daripada 60 kepada <xliff:g id="ID_1">%1$s</xliff:g> Hz untuk sesetengah kandungan secara automatik. Meningkatkan penggunaan bateri."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Paksa kadar muat semula puncak"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"penyematan skrin"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"cabaran kerja, kerja, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"profil kerja, profil terurus, menyatukan, penyatuan, kerja, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"sedar, tidur, jangan kunci, kekal tidak berkunci semasa dilipat, melipat, menutup, lipat, tutup, skrin dimatikan"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gerak isyarat"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"bayar, ketik, bayaran"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Dayakan ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Dayakan ANGLE sebagai pemacu OpenGL ES sistem"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Dayakan ANGLE sebagai pemacu OpenGL ES lalai. Tindakan mendayakan ANGLE pada peranti yang tidak serasi mungkin merosakkan sesetengah aplikasi."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"But semula diperlukan untuk menukar pemacu OpenGL ES sistem"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Perubahan Keserasian Apl"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Togol perubahan keserasian apl"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Tidak perlu"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Batal"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Tukar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Matikan"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Tidak dapat mengaktifkan SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Cuba hidupkan SIM sekali lagi. Jika masalah berlanjutan, mulakan semula peranti anda."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Pengaktifan rangkaian"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Nyahpasang apl"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apl dipasang dalam tempoh # bulan yang lalu}other{Apl dipasang dalam tempoh # bulan yang lalu}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apl dipasang lebih dari # bulan yang lalu}other{Apl dipasang lebih dari # bulan yang lalu}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Nisbah bidang"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Pilih nisbah bidang untuk melihat apl ini jika apl belum direka bentuk untuk disesuaikan dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g> anda"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Apl yang dicadangkan"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Nisbah bidang apl yang telah digantikan"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Lalai apl"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Skrin penuh"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Skrin separuh"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Nisbah bidang peranti"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"Apl akan dimulakan semula apabila anda mengubah nisbah bidang. Anda mungkin kehilangan perubahan yang belum disimpan."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Penderia cap jari"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Pemberitahuan denyar"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Perihal pemberitahuan denyar"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Hidup"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Mati"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Hidup"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Nama peranti anda boleh dilihat oleh apl yang anda pasang. Nama peranti anda juga boleh dilihat oleh orang lain apabila anda menyambung kepada peranti Bluetooth, menyambung kepada rangkaian Wi-Fi atau menyediakan tempat liputan Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Jantina tatabahasa"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pilih Jantina tatabahasa"</string>
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 7659648..f35a68e 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"မျက်နှာနှင့် <xliff:g id="WATCH">%s</xliff:g> ကို ထည့်လိုက်ပါပြီ"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"မျက်နှာ၊ လက်ဗွေနှင့် <xliff:g id="WATCH">%s</xliff:g> ကို ထည့်လိုက်ပါပြီ"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"မျက်နှာ၊ လက်ဗွေများနှင့် <xliff:g id="WATCH">%s</xliff:g> ကို ထည့်လိုက်ပါပြီ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"မျက်နှာနှင့်လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"လက်ဗွေနှင့် မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"အလုပ်အတွက် ‘မျက်နှာပြနှင့် လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"စနစ်ထည့်သွင်းရန် လိုအပ်သည်"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"မျက်နှာနှင့် လက်ဗွေများ ထည့်ပြီးပါပြီ"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"ပင်နံပါတ် • မျက်နှာ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"စကားဝှက် • မျက်နှာ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း မသုံးဘဲ ရှေ့ဆက်ခြင်း"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"ပုံစံ • မျက်နှာ • လက်ဗွေ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"ပင်နံပါတ် • မျက်နှာ • လက်ဗွေ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"စကားဝှက် • မျက်နှာ • လက်ဗွေ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"မျက်နှာ (သို့) လက်ဗွေ မသုံးဘဲ ရှေ့ဆက်ခြင်း"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"လက်ဗွေ (သို့) မျက်နှာ မသုံးဘဲ ရှေ့ဆက်ရန်"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"မရှိ"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ပွတ်ဆွဲရန်"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ပုံစံ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ပိတ်"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"ဖန်သားပြင် အဖြူ ချိန်ညှိခြင်း"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ခေါက်ထားချိန် လော့ခ်မချပါနှင့်"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"ခေါက်ထားချိန်တွင် ဖန်သားပြင် အချိန်ကုန်သည်အထိ ရှေ့မျက်နှာပြင်ပြကွက်ကို ဖွင့်ထားပါ"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"အကြောင်းအရာအချို့အတွက် ပြန်လည်စတင်နှုန်းကို ၆၀ မှ <xliff:g id="ID_1">%1$s</xliff:g> Hz သို့ အလိုအလျောက် တိုးပေးသည်။ ဘက်ထရီ အသုံးပြုမှု များလာမည်။"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"အမြင့်ဆုံး ပြန်လည် စတင်နှုန်းသို့ တွန်းအားပေးရန်"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"မျက်နှာပြင် ပင်ထိုးမှု"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"အလုပ်၏ စိန်ခေါ်မှု၊ အလုပ်၊ ပရိုဖိုင်"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"အလုပ်ပရိုဖိုင်၊ စီမံခန့်ခွဲထားသည့် ပရိုဖိုင်၊ စည်းလုံးစေခြင်း၊ စည်းလုံးအောင်ပြုလုပ်ခြင်း၊ အလုပ်၊ ပရိုဖိုင်"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ပွင့်ချိန်၊ နားချိန်၊ လော့ခ်မချခြင်း၊ ခေါက်လျက် ပွင့်နေခြင်း၊ ခေါက်နေခြင်း၊ ပိတ်နေခြင်း၊ ခေါက်ခြင်း၊ ပိတ်ခြင်း၊ စခရင် ပိတ်ခြင်း"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ဟန်များ"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ပေးချေမှု၊ တို့ခြင်း၊ ငွေပေးချေခြင်းများ"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE ဖွင့်ရန်"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE ကို စနစ် OpenGL ES ဒရိုင်ဗာအဖြစ် ဖွင့်နိုင်သည်"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE ကို မူရင်း OpenGL ES ဒရိုင်ဗာအဖြစ် ဖွင့်နိုင်သည်။ တွဲမသုံးနိုင်သော စက်ပစ္စည်းများတွင် ၎င်းကို ဖွင့်ခြင်းသည် အပလီကေးရှင်းအချို့ကို ရပ်သွားစေနိုင်သည်။"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"စနစ် OpenGL ES ဒရိုင်ဗာကိုပြောင်းရန်အတွက် ပြန်လည်စတင်ရန် လိုအပ်သည်"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"တွဲဖက်သုံးနိုင်သော အက်ပ် အပြောင်းအလဲများ"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"တွဲဖက်သုံးနိုင်သော အက်ပ်အပြောင်းအလဲများကို အဖွင့်အပိတ်လုပ်ရန်"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"မလိုပါ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"မလုပ်တော့"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ပြောင်းရန်"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ပိတ်ရန်"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ဆင်းမ်ကတ်ကို ဖွင့်၍မရပါ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ဆင်းမ်ကတ်ကို ပြန်ဖွင့်ကြည့်ပါ။ ပြဿနာရှိနေသေးပါက သင့်စက်ကို ပြန်လည်စတင်ပါ။"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ကွန်ရက် စတင်အသုံးပြုခြင်း"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"အက်ပ်ကို ဖယ်ရှားရန်"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{ပြီးခဲ့သော # လအတွင်း ထည့်သွင်းထားသည့် အက်ပ်များ}other{ပြီးခဲ့သော # လအတွင်း ထည့်သွင်းထားသည့် အက်ပ်များ}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{ပြီးခဲ့သော # လကျော်က ထည့်သွင်းထားသည့် အက်ပ်များ}other{ပြီးခဲ့သော # လကျော်က ထည့်သွင်းထားသည့် အက်ပ်များ}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"အကြံပြုထားသော အက်ပ်များ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"အစားထိုးထားသော အက်ပ်များ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"အက်ပ် မူရင်း"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"လက်ဗွေ အာရုံခံကိရိယာ"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"အလင်းရောင်ဖြင့် အကြောင်းကြားချက်"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"အလင်းရောင်ဖြင့် အကြောင်းကြားချက်များအကြောင်း"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ဖွင့်"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ပိတ်"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ဖွင့်"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"သင့်စက်အမည်ကို သင်ထည့်သွင်းထားသည့် အက်ပ်များက မြင်ရပါသည်။ ဘလူးတုသ်သုံးစက်များသို့ ချိတ်ဆက်သည့်အခါ၊ Wi-Fi ကွန်ရက်သို့ ချိတ်ဆက်သည့်အခါ (သို့) Wi-Fi ဟော့စပေါ့ ထုတ်လွှင့်သည့်အခါ တို့တွင်လည်း ၎င်းကို အခြားသူများက မြင်နိုင်ပါသည်။"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"သဒ္ဒါနည်းကျ လိင်အမျိုးအစား"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"သဒ္ဒါနည်းကျ လိင်အမျိုးအစား ရွေးရန်"</string>
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index ddada54..9dd1806 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ansiktet og <xliff:g id="WATCH">%s</xliff:g> er lagt til"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ansiktet, fingeravtrykket og <xliff:g id="WATCH">%s</xliff:g> er lagt til"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ansiktet, fingeravtrykkene og <xliff:g id="WATCH">%s</xliff:g> er lagt til"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Opplåsing med ansikt og fingeravtrykk"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Opplåsing med fingeravtrykk og ansiktslås"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ansiktslås og opplåsing med fingeravtrykk for jobb"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfigurering kreves"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ansikt og fingeravtrykk er lagt til"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN-kode • ansikt"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Passord • ansikt"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Fortsett uten ansiktslås"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Mønster • Ansikt • Fingeravtrykk"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN-kode • Ansikt • Fingeravtrykk"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Passord • Ansikt • Fingeravtrykk"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Fortsett uten ansikt eller fingeravtrykk"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Fortsett uten å registrere fingeravtrykket eller ansiktet"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ingen"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Sveip"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mønster"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Av"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Vis hvitbalanse"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Hold opplåst ved sammenlegging"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Hold den ytre skjermen låst opp når enheten er lagt sammen, inntil skjermspareren aktiveres"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Øker oppdateringsfrekvensen automatisk fra 60 til <xliff:g id="ID_1">%1$s</xliff:g> Hz for noe innhold. Øker batteribruken."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Maks oppdateringsfrekvens"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"én-appsmodus"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"jobbutfordring, jobb, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"jobbprofil, administrert profil, forene, forening, jobb, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"vekk, sov, ikke lås, vær låst opp ved sammenlegging, sammenlegging, lukking, legg sammen, lukk, skjerm av"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"bevegelser"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betal, trykk på, betalinger"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Slå på ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Slå på ANGLE som OpenGL ES-driver for systemet"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Aktiver ANGLE som standard OpenGL ES-driver. Hvis dette aktiveres på enheter som ikke støttes, kan det hende at enkelte funksjoner slutter å fungere."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"En omstart kreves for å endre OpenGL ES-driveren for systemet"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Endringer av appkompatibilitet"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Slå endringer av appkompatibilitet på/av"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nei takk"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Avbryt"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Bytt"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Slå av"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Kan ikke aktivere SIM-kortet"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prøv å slå på SIM-kortet igjen. Start enheten på nytt hvis problemet vedvarer."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivering av nettverk"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Avinstaller app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apper installert den siste måneden}other{Apper installert de siste # månedene}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apper installert for mer enn # måned siden}other{Apper installert for mer enn # måneder siden}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Foreslåtte apper"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apper du har overstyrt"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Appstandard"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Fingeravtrykkssensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Blitsvarsler"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Om blitsvarsler"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"På"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Av"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"På"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Enhetsnavnet ditt er synlig for apper du har installert. Det kan også ses av andre personer når du kobler til Bluetooth-enheter, kobler til et wifi-nettverk eller konfigurerer en wifi-sone."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatisk kjønn"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Velg grammatisk kjønn"</string>
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index d82d90c..9f82a3b 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"अनुहार र <xliff:g id="WATCH">%s</xliff:g> दर्ता गरियो"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"अनुहार, फिंगरप्रिन्ट र <xliff:g id="WATCH">%s</xliff:g> दर्ता गरियो"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"अनुहार, फिंगरप्रिन्टहरू र <xliff:g id="WATCH">%s</xliff:g> दर्ता गरिए"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"फेस र फिंगरप्रिन्ट अनलक"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"फिंगरप्रिन्ट तथा फेस अनलक"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"कार्य प्रोफाइलका लागि फेस र फिंगरप्रिन्ट अनलक"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप गर्नु पर्ने हुन्छ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"फेस तथा फिंगरप्रिन्टहरू थपिए"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • फेस अनलक"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"पासवर्ड • फेस अनलक"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"फेस अनलक सेटअप नगरिकन जारी राख्नुहोस्"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"प्याटर्न • फेस • फिंगरप्रिन्ट"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • फेस • फिंगरप्रिन्ट"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"पासवर्ड • फेस • फिंगरप्रिन्ट"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"फेस वा फिंगरप्रिन्ट सेटअप नगरिकन जारी राख्नुहोस्"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"फिंगरप्रिन्ट वा फेस अनलक नगरिकनै जारी राख्नुहोस्"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"छैन"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"स्वाइप"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ढाँचा"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"निष्क्रिय छ"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"श्वेत सन्तुलन देखाउनुहोस्"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"फोल्ड गर्दा अन‌लक अवस्थामा राखियोस्"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"स्क्रिन टाइमआउट नभएसम्म फोल्ड गर्दा पनि अगाडिको डिस्प्ले अन‌लक अवस्थामा नै राखियोस्"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"केही सामग्रीका हकमा रिफ्रेस रेट स्वतः ६० हर्जबाट बढाएर <xliff:g id="ID_1">%1$s</xliff:g> हर्ज बनाउँछ। यसले गर्दा ब्याट्रीको खपत बढ्छ।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"रिफ्रेस गर्ने दर बलपूर्वक सबैभन्दा बढी बनाउनुहोस्"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"स्क्रिन पिनिङ"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"कार्य चुनौती, कार्य, प्रोफाइल"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"कार्यको प्रोफाइल, व्यवस्थापन गरिएको प्रोफाइल, एकरूपता ल्याउनु, एकरूपता, कार्य, प्रोफाइल"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"सक्रिय, स्लिप मोड, लक नगरियोस्, फोल्ड गर्दा अन‌लक अवस्थामा राखियोस्, फोल्डिङ, बन्द, फोल्ड, बन्द गरियोस्, स्क्रिन अफ"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"इसाराहरू"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"भुक्तानी गर्नुहोस्, ट्याप गर्नुहोस्, भुक्तानी"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE अन गर्नुहोस्"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"सिस्टम OpenGL ES ड्राइभरका रूपमा ANGLE अन गर्नुहोस्"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE लाई डिफल्ट OpenGL ES ड्राइभर बनाउनुहोस्। यो सुविधा प्रयोग गर्न नमिल्ने डिभाइसहरूमा यसलाई अन गर्दा केही एपहरू नचल्न सक्छन्।"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"सिस्टम OpenGL ES ड्राइभर बदल्न रिबुट गर्नु पर्ने हुन्छ"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"एपको कम्प्याटिबिलिटीमा भएका परिवर्तनहरू"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"एपको कम्प्याटिबिलिटीमा गरिएको परिवर्तन टगल गर्नुहोस्"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"पर्दैन, धन्यवाद"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"रद्द गर्नुहोस्"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"बदल्नुहोस्"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"अफ गर्नुहोस्"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM सक्रिय गर्न सकिएन"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"फेरि SIM सक्रिय गरी हेर्नुहोस्। अझै समस्या रहिरह्यो भने आफ्नो डिभाइस रिस्टार्ट गर्नुहोस्।"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"नेटवर्क सक्रिय गर्ने प्रक्रिया"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"एप अनइन्स्टल गर्नुहोस्"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{विगत # महिनामा इन्स्टल गरिएका एपहरू}other{विगत # महिनामा इन्स्टल गरिएका एपहरू}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# महिनाभन्दा पहिले इन्स्टल गरिएका एपहरू}other{# महिनाभन्दा पहिले इन्स्टल गरिएका एपहरू}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"एस्पेक्ट रेसियो"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"यो एप तपाईंको <xliff:g id="DEVICE_NAME">%1$s</xliff:g> मा प्रयोग गर्न मिल्ने गरी डिजाइन गरिएको छ वा छैन भन्ने कुरा हेर्न एस्पेक्ट रेसियो छनौट गर्नुहोस्"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"सिफारिस गरिएका एपहरू"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"तपाईंले ओभरराइड गरेका एपहरू"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"एपको डिफल्ट एस्पेक्ट रेसियो"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"फुल स्क्रिन"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"हाफ स्क्रिन"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"डिभाइसको एस्पेक्ट रेसियो"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"१६:९"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"३:२"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"४:३"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"तपाईंले एस्पेक्ट रेसियो बदल्नुभयो भने एप रिस्टार्ट हुने छ। तपाईंले सेभ नगरिएका परिवर्तनहरू गुमाउन सक्नुहुन्छ।"</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"फिंगरप्रिन्ट सेन्सर"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"सूचनाहरू आउँदा फ्ल्यास हुने सुविधा"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"सूचनाहरू आउँदा फ्ल्यास हुने सुविधाका बारेमा"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"अन छ"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"अफ छ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"अन छ"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"तपाईंका डिभाइसमा इन्स्टल गरिएका एपहरूले तपाईंको डिभाइसको नाम हेर्न सक्छन्। तपाईंले ब्लुटुथ चल्ने डिभाइसमा कनेक्ट गर्दा, कुनै Wi-Fi नेटवर्कमा कनेक्ट गर्दा वा कुनै Wi-Fi हटस्पट सेटअप गर्दा अरू मान्छेहरूले पनि डिभाइसको नाम देख्न सक्छन्।"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"ग्रामाटिकल जेन्डर"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ग्रामाटिकल जेन्डर चयन गर्नुहोस्"</string>
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 63eaa4e..8f2d975 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Gezicht en <xliff:g id="WATCH">%s</xliff:g> toegevoegd"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Gezicht, vingerafdruk en <xliff:g id="WATCH">%s</xliff:g> toegevoegd"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Gezicht, vingerafdrukken en <xliff:g id="WATCH">%s</xliff:g> toegevoegd"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ontgrendelen via gezichtsherkenning en met vingerafdruk"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Ontgrendelen via vingerafdruk en gezicht"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ontgrendelen via gezichtsherkenning en vingerafdruk voor werk"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Instellen nodig"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Gezicht en vingerafdrukken toegevoegd"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"Pincode • Gezicht"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Wachtwoord • Gezicht"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Doorgaan zonder Ontgrendelen via gezichtsherkenning"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Patroon • Gezicht • Vingerafdruk"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"Pincode • Gezicht • Vingerafdruk"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Wachtwoord • Gezicht • Vingerafdruk"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Doorgaan zonder gezicht of vingerafdruk"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Doorgaan zonder vingerafdruk of gezicht"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Geen"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Swipen"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patroon"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Uit"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Witbalans van scherm"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Ontgrendeld blijven wanneer gevouwen"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Scherm voorkant ontgrendeld houden als het apparaat is dichtgevouwen tot de time-out voor het scherm"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Hiermee wordt de vernieuwingssnelheid automatisch verhoogd van 60 naar <xliff:g id="ID_1">%1$s</xliff:g> Hz voor bepaalde content. Het batterijgebruik neemt toe."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Piekvernieuwingssnelheid afdwingen"</string>
@@ -2314,7 +2313,7 @@
     <string name="battery_saver_turn_on_automatically_never" msgid="6194649389871448663">"Nooit"</string>
     <string name="battery_saver_turn_on_automatically_pct" msgid="4294335680892392449">"bij <xliff:g id="PERCENT">%1$s</xliff:g> batterijlading"</string>
     <string name="battery_percentage" msgid="1779934245963043490">"Batterijpercentage"</string>
-    <string name="battery_percentage_description" msgid="2321465139126125541">"Toon batterijpercentage in statusbalk"</string>
+    <string name="battery_percentage_description" msgid="2321465139126125541">"Batterijpercentage in statusbalk tonen"</string>
     <string name="battery_usage_chart_graph_hint_last_full_charge" msgid="6570336408060566877">"Batterijniveau sinds de laatste keer dat de batterij volledig werd opgeladen"</string>
     <string name="battery_usage_chart_graph_hint" msgid="9182079098173323005">"Batterijniveau voor afgelopen 24 uur"</string>
     <string name="battery_app_usage" msgid="8976453608783133770">"App-gebruik sinds de laatste keer dat de batterij volledig werd opgeladen"</string>
@@ -2344,7 +2343,7 @@
     <string name="screen_time_category_for_slot" msgid="8287722270554654959">"Schermtijd voor <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"Bekijken per app"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"Bekijken per systeem"</string>
-    <string name="battery_usage_less_than_percent" msgid="5873099028895001082">"&amp;lt, <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
+    <string name="battery_usage_less_than_percent" msgid="5873099028895001082">"&lt; <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
     <string name="battery_cycle_count_footer" msgid="3642121059800373545">"Vanwege kwaliteitscontroles vóór de verzending is de cyclustelling misschien niet 0 bij het eerste gebruik"</string>
     <string name="process_stats_summary_title" msgid="502683176231281732">"Processtatistieken"</string>
     <string name="process_stats_summary" msgid="522842188571764699">"Statistieken voor nerds over actieve processen"</string>
@@ -2787,7 +2786,7 @@
     <string name="call_manager_title" msgid="3397433159509629466">"Oproepbeheer"</string>
     <!-- no translation found for call_manager_summary (2558839230880919191) -->
     <skip />
-    <string name="cell_broadcast_settings" msgid="2416980110093867199">"Noodmeldingen"</string>
+    <string name="cell_broadcast_settings" msgid="2416980110093867199">"Mobiele noodmeldingen"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Netwerkproviders"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Namen van toegangspunten"</string>
     <string name="enhanced_4g_lte_mode_title" msgid="6624700245232361149">"VoLTE"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"scherm vastzetten"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"werkuitdaging, werk, profiel"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"werkprofiel, beheerd profiel, gelijkschakelen, unificatie, werk, profiel"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"wakker, slaap, niet vergrendelen, ontgrendeld blijven bij vouwen, vouwen, sluiten, dichtvouwen, dichtdoen, scherm uit"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gebaren"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"portemonnee"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betalen, tikken, betalingen"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE aanzetten"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE aanzetten als OpenGL ES-stuurprogramma van het systeem"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Zet ANGLE aan als standaard OpenGL ES-stuurprogramma. Als je dit aanzet voor niet-compatibele apparaten, kunnen sommige apps defect raken."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Je moet opnieuw opstarten om het OpenGL ES-stuurprogramma van het systeem te wijzigen"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"App-compatibiliteitswijzigingen"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Zet app-compatibiliteitswijzigingen aan/uit"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nee, bedankt"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annuleren"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Overschakelen"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Uitzetten"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Kan simkaart niet activeren"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Probeer de simkaart weer aan te zetten. Als het probleem blijft optreden, start je het apparaat opnieuw op."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Netwerkactivering"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"App verwijderen"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps in de afgelopen # maand geïnstalleerd}other{Apps in de afgelopen # maanden geïnstalleerd}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps meer dan # maand geleden geïnstalleerd}other{Apps meer dan # maanden geleden geïnstalleerd}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Beeldverhouding"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Kies een beeldverhouding om deze app te bekijken als die niet is ontworpen om op je <xliff:g id="DEVICE_NAME">%1$s</xliff:g> te passen"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Voorgestelde apps"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps die je hebt overschreven"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"App-standaard"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Volledig scherm"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Half scherm"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Beeldverhouding van apparaat"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"De app wordt opnieuw opgestart als je de beeldverhouding wijzigt. Je kunt niet-opgeslagen wijzigingen verliezen."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Vingerafdruksensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Meldingen met flits"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Over meldingen met flits"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aan"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Uit"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aan"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Je apparaatnaam is zichtbaar voor apps die je hebt geïnstalleerd. De apparaatnaam kan ook door andere mensen worden gezien als je verbinding maakt met bluetooth-apparaten of een wifi-netwerk, of als je een wifi-hotspot instelt."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammaticaal geslacht"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Grammaticaal geslacht selecteren"</string>
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 95cc569..c719552 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ଫେସ ଏବଂ <xliff:g id="WATCH">%s</xliff:g> ଯୋଗ କରାଯାଇଛି"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ଫେସ, ଟିପଚିହ୍ନ ଏବଂ <xliff:g id="WATCH">%s</xliff:g> ଯୋଗ କରାଯାଇଛି"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ଫେସ, ଟିପଚିହ୍ନ ଏବଂ <xliff:g id="WATCH">%s</xliff:g> ଯୋଗ କରାଯାଇଛି"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ଫେସ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ଟିପଚିହ୍ନ ଏବଂ ଫେସ ଅନଲକ"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ୱାର୍କ ପାଇଁ ଫେସ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ସେଟଅପ ଆବଶ୍ୟକ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ଚେହେରା ଏବଂ ଟିପଚିହ୍ନଗୁଡ଼ିକ ଯୋଗ କରାଯାଇଛି"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • ଫେସ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"ପାସୱାର୍ଡ • ଫେସ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ଫେସ୍ ଅନଲକ୍ ବିନା ଜାରି ରଖନ୍ତୁ"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"ପାଟର୍ନ • ଫେସ• ଟିପଚିହ୍ନ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • ଫେସ • ଟିପଚିହ୍ନ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"ପାସୱାର୍ଡ • ଫେସ • ଟିପଚିହ୍ନ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ଫେସ ଏବଂ ଟିପଚିହ୍ନ ବିନା ଜାରି ରଖନ୍ତୁ"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ଟିପଚିହ୍ନ କିମ୍ବା ଫେସ ବିନା ଜାରି ରଖନ୍ତୁ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"କିଛି ନାହିଁ"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ସ୍ୱାଇପ"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ପାଟର୍ନ"</string>
@@ -977,7 +974,7 @@
     <string name="accessibility_category_clone" msgid="7893383448944567885">"କ୍ଲୋନ ପ୍ରୋଫାଇଲ ଆକାଉଣ୍ଟଗୁଡ଼ିକ"</string>
     <string name="accessibility_work_account_title" msgid="7622485151217943839">"କାର୍ଯ୍ୟ ଆକାଉଣ୍ଟ - <xliff:g id="MANAGED_BY">%s</xliff:g>"</string>
     <string name="accessibility_personal_account_title" msgid="8535265881509557013">"ବ୍ୟକ୍ତିଗତ ଆକାଉଣ୍ଟ - <xliff:g id="MANAGED_BY">%s</xliff:g>"</string>
-    <string name="search_settings" msgid="7573686516434589771">"ସନ୍ଧାନ କରନ୍ତୁ"</string>
+    <string name="search_settings" msgid="7573686516434589771">"ସର୍ଚ୍ଚ କରନ୍ତୁ"</string>
     <string name="display_settings" msgid="7197750639709493852">"ଡିସପ୍ଲେ"</string>
     <string name="accelerometer_title" msgid="7745991950833748909">"ଅଟୋ-ରୋଟେଟ ସ୍କ୍ରିନ"</string>
     <string name="auto_rotate_option_off" msgid="2788096269396290731">"ବନ୍ଦ ଅଛି"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ବନ୍ଦ"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"ହ୍ବାଇଟ୍ ବ୍ୟାଲେନ୍ସ ପ୍ରଦର୍ଶନ କରନ୍ତୁ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ଫୋଲ୍ଡ କରିବା ସମୟରେ ଅନଲକ ରୁହନ୍ତୁ"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"ଡିଭାଇସକୁ ଫୋଲ୍ଡ କରିବା ସମୟରେ ସ୍କ୍ରିନ ଟାଇମଆଉଟ ହେବା ପର୍ଯ୍ୟନ୍ତ ଫ୍ରଣ୍ଟ ଡିସପ୍ଲେକୁ ଅନଲକ ରଖନ୍ତୁ"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ସ୍ମୁଥ୍ ଡିସପ୍ଲେ"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"କିଛି ବିଷୟବସ୍ତୁ ପାଇଁ ରିଫ୍ରେସ ରେଟକୁ ସ୍ୱଚାଳିତ ଭାବରେ 60ରୁ <xliff:g id="ID_1">%1$s</xliff:g> Hz ପର୍ଯ୍ୟନ୍ତ ବଢ଼ାଇଥାଏ। ବେଟେରୀର ବ୍ୟବହାର ବଢ଼ାଇଥାଏ।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ସର୍ବାଧିକ ରିଫ୍ରେସ୍ ହାରକୁ ଲାଗୁ କରନ୍ତୁ"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ସ୍କ୍ରିନ୍ ପିନିଂ"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"କାର୍ଯ୍ୟସ୍ଥଳିରେ ବାଧା, କାର୍ଯ୍ୟ, ପ୍ରୋଫାଇଲ୍‌"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"ଅଫିସ୍‌ ପ୍ରୋଫାଇଲ୍‌, ପରିଚାଳିତ ପ୍ରୋଫାଇଲ୍‌, ଏକତ୍ର, ଏକତ୍ରୀକରଣ, ଅଫିସ୍‌, ପ୍ରୋଫାଇଲ୍‌"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ଜାଗ୍ରତ ରହିବା, ଶୋଇବା, ଲକ କରନ୍ତୁ ନାହିଁ, ଫୋଲ୍ଡରେ ଅନଲକ ରୁହନ୍ତୁ, ଫୋଲ୍ଡ କରିବା, ବନ୍ଦ କରିବା, ଫୋଲ୍ଡ କରନ୍ତୁ, ବନ୍ଦ କରନ୍ତୁ, ସ୍କ୍ରିନ ବନ୍ଦ ଅଛି"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ଜେଶ୍ଚର୍"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"ୱାଲେଟ୍"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ପୈଠ, ଟାପ୍‌, ପେମେଣ୍ଟ"</string>
@@ -4059,7 +4059,7 @@
     <string name="financed_privacy_fully_paid_category" msgid="9221763928564246923">"ଆପଣ ସମ୍ପୂର୍ଣ୍ଣ ରାଶି ପେମେଣ୍ଟ କରିବା ପରେ:"</string>
     <string name="financed_privacy_restrictions_removed" msgid="3182636815294595072">"ଡିଭାଇସରୁ ସମସ୍ତ ପ୍ରତିବନ୍ଧକ କାଢ଼ି ଦିଆଯାଇଛି"</string>
     <string name="financed_privacy_uninstall_creditor_app" msgid="6339004120497310705">"ଆପଣ କ୍ରେଡିଟର ଆପକୁ ଅନଇନଷ୍ଟଲ କରିପାରିବେ"</string>
-    <string name="financed_device_info" msgid="3871860346697308342">"ଫାଇନାନ୍ସଡ୍ ଡିଭାଇସ୍ ସୂଚନା"</string>
+    <string name="financed_device_info" msgid="3871860346697308342">"ଫାଇନାନ୍ସ ହୋଇଥିବା ଡିଭାଇସ ସୂଚନା"</string>
     <string name="default_camera_app_title" msgid="6546248868519965998">"{count,plural, =1{କେମେରା ଆପ}other{କେମେରା ଆପ୍ସ}}"</string>
     <string name="default_calendar_app_title" msgid="1870095225089706093">"କ୍ୟାଲେଣ୍ଡର ଏପ"</string>
     <string name="default_contacts_app_title" msgid="7740028900741944569">"ଯୋଗାଯୋଗ ଆପ୍‌"</string>
@@ -4113,7 +4113,7 @@
     <string name="debug_autofill_category" msgid="5998163555428196185">"ଅଟୋଫିଲ୍‌"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"ଲଗିଂ ସ୍ତର"</string>
     <string name="autofill_max_partitions" msgid="7342195529574406366">"ପ୍ରତି ସେସନରେ ସର୍ବାଧିକ ଅନୁରୋଧ"</string>
-    <string name="autofill_max_visible_datasets" msgid="4970201981694392229">"ସର୍ବାଧିକ ଦେଖାଯାଉଥିବା ଡାଟାସେଟ୍‍ଗୁଡିକ"</string>
+    <string name="autofill_max_visible_datasets" msgid="4970201981694392229">"ସର୍ବାଧିକ ଦେଖାଯାଉଥିବା ଡାଟାସେଟଗୁଡ଼ିକ"</string>
     <string name="autofill_reset_developer_options" msgid="6425613608979498608">"ଡିଫଲ୍ଟ ମୂଲ୍ୟକୁ ରିସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="autofill_reset_developer_options_complete" msgid="1276741935956594965">"ଅଟୋଫିଲ୍‌ ଡେଭଲପର୍‍ ବିକଳ୍ପଗୁଡିକ ରିସେଟ୍ ହୋଇଛି"</string>
     <string name="location_category" msgid="3496759112306219062">"ଲୋକେସନ୍"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLEକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ସିଷ୍ଟମ OpenGL ES ଡ୍ରାଇଭର ଭାବେ ANGLEକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ଡିଫଲ୍ଟ OpenGL ES ଡ୍ରାଇଭର ଭାବେ ANGLEକୁ ସକ୍ଷମ କରନ୍ତୁ। ଇନକମ୍ପାଟିବଲ ଡିଭାଇସଗୁଡ଼ିକରେ ଏହାକୁ ସକ୍ଷମ କରିବା ଫଳରେ ଏହା କିଛି ଆପ୍ଲିକେସନକୁ ନିଷ୍କ୍ରିୟ କରିପାରେ।"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"ସିଷ୍ଟମ OpenGL ES ଡ୍ରାଇଭରକୁ ପରିବର୍ତ୍ତନ କରିବା ପାଇଁ ରିବୁଟ କରିବା ଆବଶ୍ୟକ"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ଆପ୍ କମ୍ପାଟିବିଲିଟୀ ପରିବର୍ତ୍ତନଗୁଡ଼ିକ"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ଆପ କମ୍ପାଟିବିଲିଟୀ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ଟୋଗଲ କରନ୍ତୁ"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ନା, ଧନ୍ୟବାଦ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ସ୍ୱିଚ୍ କରନ୍ତୁ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIMକୁ ସକ୍ରିୟ କରାଯାଇପାରିବ ନାହିଁ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIMକୁ ପୁଣି ଚାଲୁ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରହେ, ତେବେ ଆପଣଙ୍କ ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ।"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ନେଟୱାର୍କ ସକ୍ରିୟକରଣ"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ଆପ ଅନଇନଷ୍ଟଲ କରନ୍ତୁ"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{ଗତ # ମାସରେ ଇନଷ୍ଟଲ କରାଯାଇଥିବା ଆପ୍ସ}other{ଗତ # ମାସରେ ଇନଷ୍ଟଲ କରାଯାଇଥିବା ଆପ୍ସ}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# ମାସରୁ ଅଧିକ ସମୟ ପୂର୍ବେ ଇନଷ୍ଟଲ କରାଯାଇଥିବା ଆପ୍ସ}other{# ମାସରୁ ଅଧିକ ସମୟ ପୂର୍ବେ ଇନଷ୍ଟଲ କରାଯାଇଥିବା ଆପ୍ସ}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"ପ୍ରସ୍ତାବିତ ଆପ୍ସ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"ଆପଣ ଓଭରରାଇଡ କରିଥିବା ଆପ୍ସ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ଆପ ଡିଫଲ୍ଟ"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"ଟିପଚିହ୍ନ ସେନ୍ସର"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ଫ୍ଲାସ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ଫ୍ଲାସ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ ବିଷୟରେ"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ଚାଲୁ ଅଛି"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ବନ୍ଦ ଅଛି"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ଚାଲୁ ଅଛି"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ଆପଣ ଇନଷ୍ଟଲ କରିଥିବା ଆପ୍ସକୁ ଆପଣଙ୍କ ଡିଭାଇସ ନାମ ଦେଖାଯାଇଥାଏ। ଯେତେବେଳେ ଆପଣ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ କନେକ୍ଟ କରନ୍ତି, ଏକ ୱାଇ-ଫାଇ ନେଟୱାର୍କ ସହ କନେକ୍ଟ କରନ୍ତି କିମ୍ବା ଏକ ୱାଇ-ଫାଇ ହଟସ୍ପଟ ସେଟ ଅପ କରନ୍ତି, ସେତେବେଳେ ଏହା ଅନ୍ୟ ଲୋକମାନଙ୍କୁ ମଧ୍ୟ ଦେଖାଯାଇପାରେ।"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"ବ୍ୟାକରଣଗତ ଲିଙ୍ଗ"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ବ୍ୟାକରଣଗତ ଲିଙ୍ଗ ଚୟନ କରନ୍ତୁ"</string>
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 3940075..8d45354 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ਚਿਹਰੇ ਅਤੇ <xliff:g id="WATCH">%s</xliff:g> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ਚਿਹਰੇ, ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਤੇ <xliff:g id="WATCH">%s</xliff:g> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ਚਿਹਰੇ, ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਅਤੇ <xliff:g id="WATCH">%s</xliff:g> ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ਫ਼ੇਸ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਤੇ ਫ਼ੇਸ ਅਣਲਾਕ"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਲਈ ਫ਼ੇਸ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ਸੈੱਟਅੱਪ ਦੀ ਲੋੜ ਹੈ"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ਚਿਹਰੇ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"ਪਿੰਨ • ਚਿਹਰਾ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"ਪਾਸਵਰਡ • ਚਿਹਰਾ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ਫ਼ੇਸ ਅਣਲਾਕ ਤੋਂ ਬਿਨਾਂ ਜਾਰੀ ਰੱਖੋ"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"ਪੈਟਰਨ • ਫ਼ੇਸ • ਫਿੰਗਰਪ੍ਰਿੰਟ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"ਪਿੰਨ • ਫ਼ੇਸ • ਫਿੰਗਰਪ੍ਰਿੰਟ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"ਪਾਸਵਰਡ • ਫ਼ੇਸ • ਫਿੰਗਰਪ੍ਰਿੰਟ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ਫ਼ੇਸ ਜਾਂ ਫਿੰਗਰਪ੍ਰਿੰਟ ਤੋਂ ਬਿਨਾਂ ਜਾਰੀ ਰੱਖੋ"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਜਾਂ ਚਿਹਰਾ ਅਣਲਾਕ ਦੇ ਬਿਨਾਂ ਜਾਰੀ ਰੱਖੋ"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ਕੋਈ ਨਹੀਂ"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ਪੈਟਰਨ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ਬੰਦ"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"ਸਫ਼ੈਦ ਸੰਤੁਲਨ ਦਿਖਾਓ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ਫੋਲਡ ਹੋਣ \'ਤੇ ਅਣਲਾਕ ਰੱਖੋ"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"ਸਕ੍ਰੀਨ ਦੇ ਬੰਦ ਹੋਣ ਦੇ ਸਮੇਂ ਤੱਕ ਫੋਲਡ ਹੋਣ \'ਤੇ ਅਗਲੀ ਡਿਸਪਲੇ ਨੂੰ ਅਣਲਾਕ ਰੱਖੋ"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ਸਮੂਥ ਡਿਸਪਲੇ"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕੁਝ ਸਮੱਗਰੀਆਂ ਲਈ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਨੂੰ 60 ਤੋਂ ਵਧਾ ਕੇ <xliff:g id="ID_1">%1$s</xliff:g> Hz ਕਰ ਦਿੰਦਾ ਹੈ। ਬੈਟਰੀ ਵਰਤੋਂ ਵੱਧ ਜਾਂਦੀ ਹੈ।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ਉੱਚ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਸੈੱਟ ਕਰੋ"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ਸਕ੍ਰੀਨ ਪਿਨਿੰਗ"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"ਕਾਰਜ ਚੁਣੌਤੀ, ਕਾਰਜ, ਪ੍ਰੋਫਾਈਲ"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ, ਪ੍ਰਬੰਧਿਤ ਕੀਤੀ ਗਈ ਪ੍ਰੋਫਾਈਲ, ਇਕਰੂਪ ਕਰਨਾ, ਏਕੀਕਰਨ, ਕੰਮ, ਪ੍ਰੋਫਾਈਲ"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ਏ, ਸੌਣਾ, ਲਾਕ ਨਾ ਕਰਨਾ, ਫੋਲਡ ਹੋਣ \'ਤੇ ਅਣਲਾਕ ਰਹਿਣਾ, ਫੋਲਡ ਕਰਨਾ, ਬੰਦ ਕਰਨਾ, ਫੋਲਡ, ਬੰਦ ਕਰੋ, ਸਕ੍ਰੀਨ ਬੰਦ ਕਰੋ"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ਇਸ਼ਾਰੇ"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ਭੁਗਤਾਨ ਕਰੋ, ਟੈਪ ਕਰੋ, ਭੁਗਤਾਨ"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ਸਿਸਟਮ ਦੇ OpenGL ES ਡਰਾਈਵਰ ਵਜੋਂ ANGLE ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ OpenGL ES ਡਰਾਈਵਰ ਵਜੋਂ ANGLE ਨੂੰ ਚਾਲੂ ਕਰੋ। ਗੈਰ-ਅਨੁਰੂਪ ਡੀਵਾਈਸਾਂ \'ਤੇ ਇਸਨੂੰ ਚਾਲੂ ਕਰਨ ਨਾਲ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਰੁਕਾਵਟ ਆ ਸਕਦੀ ਹੈ।"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"ਸਿਸਟਮ ਦੇ OpenGL ES ਡਰਾਈਵਰ ਨੂੰ ਬਦਲਣ ਲਈ ਰੀਬੂਟ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ਐਪ ਅਨੁਰੂਪਤਾ ਸੰਬੰਧੀ ਤਬਦੀਲੀਆਂ"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ਐਪ ਅਨੁਰੂਪਤਾ ਤਬਦੀਲੀਆਂ ਨੂੰ ਟੌਗਲ ਕਰੋ"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ਨਹੀਂ ਧੰਨਵਾਦ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ਰੱਦ ਕਰੋ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ਸਵਿੱਚ ਕਰੋ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ਬੰਦ ਕਰੋ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ਸਿਮ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ਸਿਮ ਨੂੰ ਦੁਬਾਰਾ ਚਾਲੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਜੇ ਸਮੱਸਿਆ ਜਾਰੀ ਰਹਿੰਦੀ ਹੈ, ਤਾਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ।"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ਨੈੱਟਵਰਕ ਕਿਰਿਆਸ਼ੀਲਤਾ"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ਐਪ ਅਣਸਥਾਪਤ ਕਰੋ"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{ਪਿਛਲੇ # ਮਹੀਨੇ ਵਿੱਚ ਸਥਾਪਤ ਕੀਤੀਆਂ ਗਈਆਂ ਐਪਾਂ}one{ਪਿਛਲੇ # ਮਹੀਨੇ ਵਿੱਚ ਸਥਾਪਤ ਕੀਤੀਆਂ ਗਈਆਂ ਐਪਾਂ}other{ਪਿਛਲੇ # ਮਹੀਨਿਆਂ ਵਿੱਚ ਸਥਾਪਤ ਕੀਤੀਆਂ ਗਈਆਂ ਐਪਾਂ}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{ਐਪਾਂ # ਮਹੀਨੇ ਤੋਂ ਵੱਧ ਪਹਿਲਾਂ ਸਥਾਪਤ ਕੀਤੀਆਂ ਗਈਆਂ}one{ਐਪਾਂ # ਮਹੀਨੇ ਤੋਂ ਵੱਧ ਪਹਿਲਾਂ ਸਥਾਪਤ ਕੀਤੀਆਂ ਗਈਆਂ}other{ਐਪਾਂ # ਮਹੀਨਿਆਂ ਤੋਂ ਵੱਧ ਪਹਿਲਾਂ ਸਥਾਪਤ ਕੀਤੀਆਂ ਗਈਆਂ}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"ਸੁਝਾਈਆਂ ਗਈਆਂ ਐਪਾਂ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"ਐਪਾਂ ਜੋ ਤੁਸੀਂ ਓਵਰਰਾਈਡ ਕੀਤੀਆਂ ਹਨ"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ਐਪ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਸੈਂਸਰ"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ਫਲੈਸ਼ ਸੂਚਨਾਵਾਂ"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ਫਲੈਸ਼ ਸੂਚਨਾਵਾਂ ਬਾਰੇ"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ਚਾਲੂ"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ਬੰਦ"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ਚਾਲੂ"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਨਾਮ ਤੁਹਾਡੇ ਵੱਲੋਂ ਸਥਾਪਤ ਕੀਤੀਆਂ ਗਈਆਂ ਐਪਾਂ ਨੂੰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਕਨੈਕਟ ਕਰਨ, ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਜਾਂ ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ \'ਤੇ ਇਸਨੂੰ ਹੋਰ ਲੋਕਾਂ ਵੱਲੋਂ ਵੀ ਦੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"ਵਿਆਕਰਨ ਸੰਬੰਧੀ ਲਿੰਗ"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ਵਿਆਕਰਨ ਸੰਬੰਧੀ ਲਿੰਗ ਚੁਣੋ"</string>
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 5f567f6..c13859d 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Dodano skan twarzy i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Dodano skan twarzy, odcisk palca i <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Dodano skan twarzy, odciski palca i <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Rozpoznawanie twarzy i odcisk palca"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odblokowywanie za pomocą odcisku palca i rozpoznawania twarzy"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Rozpoznawanie twarzy i odcisku palca w profilu służbowym"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Wymagana konfiguracja"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Dodano skany twarzy i odciski palca"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"Kod PIN • Twarz"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Hasło • Twarz"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Kontynuuj bez rozpoznawania twarzy"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Wzór • Twarz • Odcisk palca"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"Kod PIN • Twarz • Odcisk palca"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Hasło • Twarz • Odcisk palca"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Kontynuuj bez rozpoznawania twarzy lub odcisku palca"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Kontynuuj bez potwierdzania odciskiem palca lub wizerunkiem twarzy"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Brak"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Przesuń palcem"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Wzór"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Wył."</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balans bieli wyświetlacza"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Odblokowany podczas złożenia"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Przedni ekran pozostaw odblokowany po złożeniu do czasu wygaszenia ekranu"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Płynne wyświetlanie"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"W przypadku niektórych treści automatycznie podwyższa częstotliwość odświeżania z 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz. Zwiększa zużycie baterii."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Wymuszaj częstotliwość odświeżania na najwyższym poziomie"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"przypinanie ekranu"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"zadanie służbowe, praca, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"profil służbowy, profil zarządzany, ujednolicić, ujednolicenie, praca, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"nie czas na sen, sen, nie blokuj, bez blokowania lub złożenie, złożenie, zamykanie, składanie, zamykanie, wygaszacz ekranu"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gesty"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"portfel"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"płacenie, klikanie, płatności"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Włącz ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Włącz ANGLE jako systemowy sterownik OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Włącz ANGLE jako systemowy sterownik OpenGL ES Uruchomienie go na niekompatybilnych urządzeniach może uszkodzić niektóre aplikacje."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Zmiana systemowego sterownika OpenGL ES wymaga ponownego uruchomienia"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Zmiany zgodności aplikacji"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Przełączanie zmian zgodności aplikacji"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nie"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Anuluj"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Przełącz"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Wyłącz"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nie można aktywować karty SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Spróbuj ponownie włączyć kartę SIM. Jeśli problem nie ustąpi, uruchom urządzenie ponownie."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktywacja sieci"</string>
@@ -4373,8 +4374,8 @@
     <string name="force_desktop_mode_summary" msgid="4587416867846930479">"Wymuś eksperymentalny tryb pulpitu na dodatkowych ekranach"</string>
     <string name="enable_non_resizable_multi_window" msgid="6832903754625404477">"Włącz brak możliwości zmiany rozmiaru w trybie wielu okien"</string>
     <string name="enable_non_resizable_multi_window_summary" msgid="3275763753261901999">"Zezwala na wyświetlanie aplikacji bez możliwości zmiany rozmiaru w trybie wielu okien"</string>
-    <string name="hwui_force_dark_title" msgid="4256904905631994219">"Zastępuj wymuszanie trybu ciemnego"</string>
-    <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Zastępuje ustawienie zawsze włączonej funkcji wymuszania trybu ciemnego"</string>
+    <string name="hwui_force_dark_title" msgid="4256904905631994219">"Wymuszaj tryb ciemny"</string>
+    <string name="hwui_force_dark_summary" msgid="6515748781487952769">"Wymuszanie trybu ciemnego zawsze będzie włączone"</string>
     <string name="privacy_dashboard_title" msgid="6845403825611829558">"Prywatność"</string>
     <string name="privacy_dashboard_summary" msgid="5775090172422786808">"Uprawnienia, aktywność na koncie, dane osobiste"</string>
     <string name="privacy_controls_title" msgid="1383047169455206604">"Ustawienia"</string>
@@ -4705,6 +4706,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Odinstaluj aplikację"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplikacje zainstalowane w ostatnim miesiącu}few{Aplikacje zainstalowane w ciągu ostatnich # miesięcy}many{Aplikacje zainstalowane w ciągu ostatnich # miesięcy}other{Aplikacje zainstalowane w ciągu ostatniego # miesiąca}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplikacja zainstalowana ponad miesiąc temu}few{Aplikacja zainstalowana ponad # miesiące temu}many{Aplikacja zainstalowana ponad # miesięcy temu}other{Aplikacja zainstalowana ponad # miesiąca temu}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Sugerowane aplikacje"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplikacje z zastąpionymi ustawieniami"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Ustawienie domyślne aplikacji"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Czytnik linii papilarnych"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Powiadomienia świetlne"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"O powiadomieniach świetlnych"</string>
@@ -4755,4 +4774,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Włączono"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Wyłączono"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Włączono"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Nazwa urządzenia jest widoczna dla zainstalowanych przez Ciebie aplikacji. Mogą ją też zobaczyć inne osoby, gdy łączysz się z urządzeniami przez Bluetooth, łączysz się z siecią Wi-Fi lub konfigurujesz hotspot Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Rodzaj gramatyczny"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Wybierz rodzaj gramatyczny"</string>
 </resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index 14d3296..6f3529c 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rosto e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rosto, impressão digital e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rosto, impressões digitais e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueio facial e por impressão digital"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impressão digital e Desbloqueio facial"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueio facial e por impressão digital para o trabalho"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuração necessária"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Rosto e impressões digitais adicionados"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Rosto"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Senha • Rosto"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continuar sem o Desbloqueio facial"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Padrão • Rosto • Impressão digital"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Rosto • Impressão digital"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Senha • Rosto • Impressão digital"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continuar sem rosto ou impressão digital"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continuar sem configurar a impressão digital ou o rosto"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Nenhuma"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Deslizar"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Padrão"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desativado"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balanço de branco da tela"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Deixar desbloqueado ao dobrar"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Deixar o display frontal desbloqueado quando o dispositivo estiver dobrado até atingir o tempo limite da tela"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automaticamente a taxa de atualização de 60 para <xliff:g id="ID_1">%1$s</xliff:g> Hz em alguns conteúdos. Maior uso da bateria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forçar taxa de atualização máxima"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"Fixar tela"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"desafio de trabalho, trabalho, perfil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"perfil de trabalho, perfil gerenciado, unificar, unificação, trabalho, perfil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ativar, suspender, não bloquear, deixar desbloqueado ao dobrar, dobra, fechar, dobrar, fechado, tela desligada"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestos"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"carteira"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagamentos"</string>
@@ -3202,7 +3202,7 @@
     <string name="lock_screen_notifs_show_all" msgid="1300418674456749664">"Mostrar conversas, padrão e silenciosas"</string>
     <string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"Ocultar notificações e conversas silenciosas"</string>
     <string name="lock_screen_notifs_show_none" msgid="1941044980403067101">"Não mostrar notificações"</string>
-    <string name="lock_screen_notifs_redact" msgid="9024158855454642296">"Notificações confidenciais"</string>
+    <string name="lock_screen_notifs_redact" msgid="9024158855454642296">"Notificações sensíveis"</string>
     <string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"Mostrar conteúdo confidencial quando bloqueado"</string>
     <string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"Notificações confidenciais do perfil de trabalho"</string>
     <string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"Mostrar conteúdo confidencial do perfil de trabalho quando estiver bloqueado"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Ativar o ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Ativar o ANGLE como o driver do OpenGL ES do sistema"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Ative o ANGLE como o driver do OpenGL ES padrão. A ativação desse driver em dispositivos incompatíveis pode corromper alguns aplicativos."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"É necessário reiniciar o dispositivo para mudar o driver do OpenGL ES do sistema"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Mudanças na compatibilidade do app"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Alternar mudanças de compatibilidade do app"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Agora não"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Mudar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desativar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Não foi possível ativar o chip"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Tente ativar o chip novamente. Se o problema continuar, reinicie o dispositivo."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ativação de rede"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Desinstalar app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps instalados no último # mês}one{Apps instalados no último # mês}other{Apps instalados nos últimos # meses}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps instalados há mais de # mês}one{Apps instalados há mais de # mês}other{Apps instalados há mais de # meses}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Proporção"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Escolha uma proporção para visualizar este app caso ele não tenha sido criado para caber no seu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Apps sugeridos"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps que você substituiu"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Padrão do app"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Tela cheia"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Meia tela"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Proporção do dispositivo"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"O app vai reiniciar quando você mudar a proporção. É possível que você perca mudanças não salvas."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensor de impressão digital"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notificações com flash"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Sobre as notificação com flash"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ativada"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desativada"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ativada"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"O nome do dispositivo fica visível para os apps que você instalou. Ele também vai ficar visível para outras pessoas quando você se conectar a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configurar um ponto de acesso Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gênero gramatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecionar gênero gramatical"</string>
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 6b819320..5eae646 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -53,7 +53,7 @@
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nome do dispositivo"</string>
     <string name="bluetooth_rename_device" msgid="4219655243836021443">"Mudar o nome deste dispositivo"</string>
     <string name="bluetooth_rename_button" msgid="9162500408570289545">"Mudar o nome"</string>
-    <string name="bluetooth_disconnect_title" msgid="4581951246357823044">"Pretende desl. o dispositivo?"</string>
+    <string name="bluetooth_disconnect_title" msgid="4581951246357823044">"Quer desl. o dispositivo?"</string>
     <string name="bluetooth_pairing_pref_title" msgid="3497193027590444598">"Sincronizar novo dispositivo"</string>
     <string name="keywords_add_bt_device" msgid="4533191164203174011">"Bluetooth"</string>
     <string name="bluetooth_pair_right_ear_button" msgid="3979894494803078852">"Sincr. ouv. direito"</string>
@@ -85,10 +85,10 @@
     <string name="bluetooth_devices_card_off_title" msgid="1320149821945129127">"Bluetooth desativado"</string>
     <string name="bluetooth_devices_card_off_summary" msgid="2276527382891105858">"Toque para o ativar."</string>
     <string name="device_picker" msgid="2427027896389445414">"Escolher dispositivo Bluetooth"</string>
-    <string name="bluetooth_ask_enablement" msgid="1529030199895339199">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende ativar o Bluetooth"</string>
-    <string name="bluetooth_ask_disablement" msgid="1879788777942714761">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> pretende desativar o Bluetooth"</string>
-    <string name="bluetooth_ask_enablement_no_name" msgid="5091401961637405417">"Uma aplicação pretende ativar o Bluetooth"</string>
-    <string name="bluetooth_ask_disablement_no_name" msgid="382299750909188822">"Uma aplicação pretende desativar o Bluetooth"</string>
+    <string name="bluetooth_ask_enablement" msgid="1529030199895339199">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer ativar o Bluetooth"</string>
+    <string name="bluetooth_ask_disablement" msgid="1879788777942714761">"A aplicação <xliff:g id="APP_NAME">%1$s</xliff:g> quer desativar o Bluetooth"</string>
+    <string name="bluetooth_ask_enablement_no_name" msgid="5091401961637405417">"Uma aplicação quer ativar o Bluetooth"</string>
+    <string name="bluetooth_ask_disablement_no_name" msgid="382299750909188822">"Uma aplicação quer desativar o Bluetooth"</string>
     <string name="bluetooth_turning_on" msgid="3842613808709024730">"A ligar o Bluetooth..."</string>
     <string name="bluetooth_turning_off" msgid="7406309124247701148">"Desativar o Bluetooth…"</string>
     <string name="bluetooth_connection_permission_request" msgid="8793131019383198861">"Pedido de ligação Bluetooth"</string>
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rosto e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rosto, impressão digital e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rosto, impressões digitais e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueio facial e por impressão digital"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impressão digital e Desbloqueio facial"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueio facial e por impressão digital para o trabalho"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuração necessária"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Rosto e impressões digitais adicionados"</string>
@@ -456,15 +456,15 @@
     <string name="setup_fingerprint_enroll_enrolling_skip_title" msgid="352947044008973812">"Ignorar configur. de impressão digital?"</string>
     <string name="setup_fingerprint_enroll_enrolling_skip_message" msgid="4876965433600560365">"Optou por utilizar a sua impressão digital como uma forma de desbloquear o telemóvel. Se ignorar agora, terá de configurar esta opção mais tarde. A configuração demora apenas alguns minutos."</string>
     <string name="lock_screen_skip_setup_title" msgid="6979006375138175111">"Ignorar configuração para <xliff:g id="OPTIONS">%s</xliff:g>?"</string>
-    <string name="lock_screen_pin_skip_title" msgid="6853866579893458111">"Pretende ignorar a configuração do PIN?"</string>
+    <string name="lock_screen_pin_skip_title" msgid="6853866579893458111">"Quer ignorar a configuração do PIN?"</string>
     <string name="lock_screen_pin_skip_face_title" msgid="8810770395309512358">"Ignorar configuração de PIN e rosto?"</string>
     <string name="lock_screen_pin_skip_fingerprint_title" msgid="371214283158750976">"Ignorar configuração de PIN e impressão digital?"</string>
     <string name="lock_screen_pin_skip_biometrics_title" msgid="1082066572914073311">"Ignorar configuração de PIN, rosto e impressão digital?"</string>
-    <string name="lock_screen_password_skip_title" msgid="8891463713793185768">"Pretende ignorar configuração da palavra-passe?"</string>
+    <string name="lock_screen_password_skip_title" msgid="8891463713793185768">"Quer ignorar configuração da palavra-passe?"</string>
     <string name="lock_screen_password_skip_face_title" msgid="8166210519462164998">"Ignorar configuração de palavra-passe e rosto?"</string>
     <string name="lock_screen_password_skip_fingerprint_title" msgid="2506392546016772170">"Ignorar configuração de palavra-passe e impressão digital?"</string>
     <string name="lock_screen_password_skip_biometrics_title" msgid="900281322095862009">"Não configurar pal.-passe, face e imp. digital?"</string>
-    <string name="lock_screen_pattern_skip_title" msgid="7214938393640060932">"Pretende ignorar a configuração do padrão?"</string>
+    <string name="lock_screen_pattern_skip_title" msgid="7214938393640060932">"Quer ignorar a configuração do padrão?"</string>
     <string name="lock_screen_pattern_skip_face_title" msgid="145100333454316334">"Ignorar configuração de padrão e rosto?"</string>
     <string name="lock_screen_pattern_skip_fingerprint_title" msgid="2513110208722100495">"Ignorar configuração de padrão e impressão digital?"</string>
     <string name="lock_screen_pattern_skip_biometrics_title" msgid="2434258106825380187">"Ignorar configuração de padrão, rosto e impressão digital?"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Rosto"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Palavra-passe • Rosto"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continue sem o Desbloqueio facial"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Padrão • Rosto • Impressão digital"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Rosto • Impressão digital"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Palavra-passe • Rosto • Impressão digital"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continuar sem rosto ou impressão digital"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continuar sem impressão digital ou rosto"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Nenhum"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Deslizar rapidamente"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Padrão"</string>
@@ -669,7 +666,7 @@
     <string name="bluetooth_multuple_devices_mac_address" msgid="4974301550897923376">"Endereço Bluetooth do dispositivo:\n<xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Esquecer dispositivo?"</string>
     <string name="remove_association_button" msgid="5004208145998061135">"Remover associação"</string>
-    <string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"Pretende desassociar a app?"</string>
+    <string name="bluetooth_companion_app_remove_association_dialog_title" msgid="1344518601377991897">"Quer desassociar a app?"</string>
     <string name="bluetooth_companion_app_body" msgid="8442643629075687761">"A app <xliff:g id="APP_NAME">%1$s</xliff:g> deixará de estar associada ao seu <xliff:g id="DEVICE_NAME">%2$s</xliff:g>"</string>
     <string name="device_details_leaudio_toggle_summary" msgid="7684848254433230809">"Experimental. Melhora qualidade de áudio"</string>
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"Esquecer dispositivo"</string>
@@ -707,8 +704,8 @@
     <string name="tx_link_speed" msgid="3071955184703668113">"<xliff:g id="TRANSMIT_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="rx_link_speed" msgid="6292229178855567783">"<xliff:g id="RECEIVE_LINK_SPEED">%1$d</xliff:g> Mbps"</string>
     <string name="link_speed" msgid="931786745741016446">"<xliff:g id="LINK_SPEED">%1$d</xliff:g> Mbps"</string>
-    <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> pretende ativar o Wi-Fi"</string>
-    <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> pretende desativar o Wi-Fi"</string>
+    <string name="wifi_ask_enable" msgid="6860056048266810769">"<xliff:g id="REQUESTER">%s</xliff:g> quer ativar o Wi-Fi"</string>
+    <string name="wifi_ask_disable" msgid="1663208096020309639">"<xliff:g id="REQUESTER">%s</xliff:g> quer desativar o Wi-Fi"</string>
     <string name="art_verifier_for_debuggable_title" msgid="1926445785190030479">"Validar bytecode/aplicações depuráveis"</string>
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que o ART valide o bytecode para aplicações depuráveis"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de atualização"</string>
@@ -806,7 +803,7 @@
     <string name="wifi_dpp_check_connection_try_again" msgid="6118892932595974823">"Verifique a ligação e tente novamente."</string>
     <string name="wifi_dpp_choose_network" msgid="3987007684129341427">"Escolha a rede"</string>
     <string name="wifi_dpp_choose_network_to_connect_device" msgid="4321618376432197593">"Para ligar o seu dispositivo, escolha uma rede"</string>
-    <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"Pretende adicionar este dispositivo a “<xliff:g id="SSID">%1$s</xliff:g>”?"</string>
+    <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"Quer adicionar este dispositivo a “<xliff:g id="SSID">%1$s</xliff:g>”?"</string>
     <string name="wifi_dpp_wifi_shared_with_device" msgid="4484366631307204949">"Rede Wi‑Fi partilhada com o dispositivo"</string>
     <string name="wifi_dpp_add_another_device" msgid="3307575293580739604">"Adicionar outro dispositivo"</string>
     <string name="wifi_dpp_choose_different_network" msgid="8963625819804792157">"Escolher outra rede"</string>
@@ -834,11 +831,11 @@
     <string name="wifi_ssid_too_long" msgid="5961719058705013875">"O nome da rede é demasiado longo."</string>
     <string name="wifi_no_domain_warning" msgid="1452133316532366772">"É necessário especificar um domínio."</string>
     <string name="wifi_no_user_cert_warning" msgid="8466376918835248956">"Certificado obrigatório."</string>
-    <string name="wifi_scan_always_turnon_message" msgid="2165909441512029921">"Para melhorar a precisão da localização e para outros fins, <xliff:g id="APP_NAME">%1$s</xliff:g> pretende ativar a verificação de redes, mesmo quando o Wi-Fi está desativado.\n\nPermitir esta opção para todas as aplicações que pretenderem verificar?"</string>
-    <string name="wifi_scan_always_turn_on_message_unknown" msgid="4903345360745717385">"Para melhorar a precisão da localização e outros fins, uma app desconhecida pretende ativar a procura de redes, mesmo quando o Wi-Fi está desativado.\n\nPermitir para todas as apps que pretenderem procurar?"</string>
+    <string name="wifi_scan_always_turnon_message" msgid="2165909441512029921">"Para melhorar a precisão da localização e para outros fins, <xliff:g id="APP_NAME">%1$s</xliff:g> quer ativar a verificação de redes, mesmo quando o Wi-Fi está desativado.\n\nPermitir esta opção para todas as aplicações que querrem verificar?"</string>
+    <string name="wifi_scan_always_turn_on_message_unknown" msgid="4903345360745717385">"Para melhorar a precisão da localização e outros fins, uma app desconhecida quer ativar a procura de redes, mesmo quando o Wi-Fi está desativado.\n\nPermitir para todas as apps que querrem procurar?"</string>
     <string name="wifi_scan_always_confirm_allow" msgid="4154200627800959777">"Permitir"</string>
     <string name="wifi_scan_always_confirm_deny" msgid="6997087934558839256">"Recusar"</string>
-    <string name="no_internet_access_text" msgid="3611993143350310936">"Esta rede não tem acesso à Internet. Pretende manter a ligação?"</string>
+    <string name="no_internet_access_text" msgid="3611993143350310936">"Esta rede não tem acesso à Internet. Quer manter a ligação?"</string>
     <string name="partial_connectivity_text" msgid="8874614799723694554">"Algumas aplicações e serviços podem não funcionar devido a conetividade limitada. Usar mesmo assim?"</string>
     <string name="no_internet_access_remember" msgid="5113610157731269258">"Não perguntar novamente para esta rede"</string>
     <string name="lost_internet_access_title" msgid="9032463989950384698">"A rede Wi-Fi não está ligada à Internet."</string>
@@ -895,7 +892,7 @@
     <string name="wifi_p2p_disconnect_message" msgid="1208761239498807208">"Se desligar, a ligação com <xliff:g id="PEER_NAME">%1$s</xliff:g> será terminada."</string>
     <string name="wifi_p2p_disconnect_multiple_message" msgid="4490648217799144078">"Se desligar, a ligação com <xliff:g id="PEER_NAME">%1$s</xliff:g> e <xliff:g id="PEER_COUNT">%2$s</xliff:g> outros aparelhos será terminada."</string>
     <string name="wifi_p2p_cancel_connect_title" msgid="8476985132989357041">"Cancelar convite?"</string>
-    <string name="wifi_p2p_cancel_connect_message" msgid="2409074184473879809">"Pretende cancelar o convite para se ligar a <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
+    <string name="wifi_p2p_cancel_connect_message" msgid="2409074184473879809">"Quer cancelar o convite para se ligar a <xliff:g id="PEER_NAME">%1$s</xliff:g>?"</string>
     <string name="wifi_p2p_delete_group_message" msgid="4880242270742385699">"Esquecer este grupo?"</string>
     <string name="wifi_hotspot_checkbox_text" msgid="1549663436920597006">"Zona Wi-Fi"</string>
     <string name="wifi_hotspot_off_subtext" msgid="2751383134504362078">"Não está a partilhar Internet nem conteúdo com outros dispositivos"</string>
@@ -933,11 +930,11 @@
     <string name="wifi_tether_carrier_unsupport_dialog_content" msgid="5920421547607921112">"Contacte o seu operador para obter mais detalhes"</string>
     <string name="wifi_tether_enabled_subtext" msgid="5085002421099821056">"<xliff:g id="NETWORK_SSID">%1$s</xliff:g> está ativa"</string>
     <string name="wifi_tether_configure_ssid_default" msgid="1709397571393179300">"AndroidHotspot"</string>
-    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Pretende guardar esta rede?"</string>
+    <string name="wifi_add_app_single_network_title" msgid="8911612806204065225">"Quer guardar esta rede?"</string>
     <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"A guardar…"</string>
     <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"Guardado"</string>
     <string name="wifi_add_app_network_save_failed_summary" msgid="7223817782309294652">"Não é possível guardar. Tente novamente."</string>
-    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Pretende guardar as redes?"</string>
+    <string name="wifi_add_app_networks_title" msgid="4384594865433042851">"Quer guardar as redes?"</string>
     <string name="wifi_add_app_networks_saving_summary" msgid="577680250954742033">"A guardar <xliff:g id="NUMBER">%d</xliff:g> redes…"</string>
     <string name="wifi_add_app_networks_saved_summary" msgid="1648417628665152905">"Redes guardadas."</string>
     <string name="wifi_calling_settings_title" msgid="264665264535884440">"Chamadas Wi-Fi"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desativada"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Apresentar equilíb. de brancos"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Manter desbloqueado ao dobrar"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Mantenha o ecrã frontal desbloqueado quando estiver dobrado até o limite de tempo do ecrã expirar"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automaticamente a taxa de atualização de 60 para <xliff:g id="ID_1">%1$s</xliff:g> Hz para algum conteúdo. Aumenta a utilização da bateria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forçar taxa de atualização de pico"</string>
@@ -1197,7 +1196,7 @@
     <string name="storage_internal_format_details" msgid="2399034372813686846">"Pode formatar este cartão SD para armazenar fotos, vídeos, música e muito mais, bem como aceder a esses conteúdos noutros dispositivos. \n\n"<b>"Todos os dados neste cartão SD são apagados."</b>" \n\n"<b>"Antes da formatação"</b>" \n\n"<b>"Faça uma cópia de segurança das fotos e de outros conteúdos multimédia"</b>" \nMova os seus ficheiros multimédia para um armazenamento alternativo neste dispositivo ou transfira-os para um computador com um cabo USB. \n\n"<b>"Faça uma cópia de segurança das apps"</b>" \nTodas as apps armazenadas neste <xliff:g id="NAME">^1</xliff:g> são desinstaladas e os respetivos dados são apagados. Para manter estas apps, mova-as para um armazenamento alternativo neste dispositivo."</string>
     <string name="storage_internal_unmount_details" msgid="487689543322907311"><b>"Quando ejetar este <xliff:g id="NAME_0">^1</xliff:g>, as aplicações armazenadas no mesmo deixam de funcionar e os ficheiros multimédia armazenados deixam de estar disponíveis até voltar a inseri-lo."</b>" \n\nEste <xliff:g id="NAME_1">^1</xliff:g> está formatado para funcionar apenas neste dispositivo. Não funciona em mais nenhum."</string>
     <string name="storage_internal_forget_details" msgid="5606507270046186691">"Para utilizar as aplicações, as fotos ou os dados incluídos em <xliff:g id="NAME">^1</xliff:g>, insira-o novamente. \n\nEm alternativa, pode optar por esquecer este armazenamento se o mesmo não estiver disponível. \n\nSe optar por esquecê-lo, todos os dados presentes no dispositivo são eliminados permanentemente. \n\nPode reinstalar as aplicações posteriormente, mas os dados armazenados neste dispositivo são eliminados."</string>
-    <string name="storage_internal_forget_confirm_title" msgid="379238668153099015">"Pretende esquecer <xliff:g id="NAME">^1</xliff:g>?"</string>
+    <string name="storage_internal_forget_confirm_title" msgid="379238668153099015">"Quer esquecer <xliff:g id="NAME">^1</xliff:g>?"</string>
     <string name="storage_internal_forget_confirm" msgid="5752634604952674123">"Todas as apps, as fotos e os dados armazenados neste <xliff:g id="NAME">^1</xliff:g> são eliminados definitivamente."</string>
     <string name="storage_detail_dialog_system" msgid="7461009051858709479">"O sistema inclui ficheiros utilizados para executar a versão <xliff:g id="VERSION">%s</xliff:g> do Android"</string>
     <string name="storage_wizard_guest" msgid="5813419895687733649">"Não pode formatar cartões SD no Modo convidado"</string>
@@ -1287,10 +1286,10 @@
     <string name="reset_esim_title" msgid="4194570573425902754">"Apagar eSIMs"</string>
     <string name="reset_esim_desc" msgid="3662444090563399131">"Esta ação não cancela qualquer plano de serviços móveis. Para transferir SIMs de substituição, contacte o seu operador."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Repor definições"</string>
-    <string name="reset_network_final_desc" msgid="5304365082065278425">"Pretende repor todas as definições de rede? Não é possível anular esta ação."</string>
+    <string name="reset_network_final_desc" msgid="5304365082065278425">"Quer repor todas as definições de rede? Não é possível anular esta ação."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Repor todas as definições de rede e apagar os eSIMs? Não é possível anular esta ação."</string>
     <string name="reset_network_final_button_text" msgid="2433867118414000462">"Repor definições"</string>
-    <string name="reset_network_confirm_title" msgid="913014422184481270">"Pretende repor?"</string>
+    <string name="reset_network_confirm_title" msgid="913014422184481270">"Quer repor?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"A reposição de rede não está disponível para este utilizador"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"As definições de rede foram repostas"</string>
     <string name="reset_esim_error_title" msgid="4670073610967959597">"Não é possível apagar os SIMs"</string>
@@ -1515,7 +1514,7 @@
     <string name="lock_settings_profile_screen_lock_title" msgid="3776275029218681815">"Bloqueio de ecrã do perfil de trabalho"</string>
     <string name="lock_settings_profile_unification_title" msgid="5777961097706546513">"Usar um bloqueio"</string>
     <string name="lock_settings_profile_unification_summary" msgid="1317553536289481654">"Usar um bloqueio para o perfil de trabalho e o ecrã do dispositivo"</string>
-    <string name="lock_settings_profile_unification_dialog_title" msgid="5163178097464820825">"Pretende utilizar um bloqueio?"</string>
+    <string name="lock_settings_profile_unification_dialog_title" msgid="5163178097464820825">"Quer utilizar um bloqueio?"</string>
     <string name="lock_settings_profile_unification_dialog_body" msgid="1222905637428672355">"O dispositivo irá utilizar o bloqueio de ecrã do seu perfil de trabalho. As políticas de trabalho serão aplicadas a ambos os bloqueios."</string>
     <string name="lock_settings_profile_unification_dialog_uncompliant_body" msgid="8844682343443755895">"O bloqueio do perfil de trabalho não cumpre os requisitos de segurança da sua entidade. Pode utilizar o mesmo bloqueio para o ecrã do dispositivo e o perfil de trabalho, mas serão aplicadas todas as políticas do bloqueio de trabalho."</string>
     <string name="lock_settings_profile_unification_dialog_confirm" msgid="6276915393736137843">"Usar um bloqueio"</string>
@@ -1832,7 +1831,7 @@
     <string name="accessibility_magnification_area_settings_full_screen_summary" msgid="2728962784113713010">"Ecrã inteiro"</string>
     <string name="accessibility_magnification_area_settings_window_screen_summary" msgid="9191632962955877019">"Parte do ecrã"</string>
     <string name="accessibility_magnification_area_settings_all_summary" msgid="8107511976748799455">"Alterne entre ecrã inteiro e parte do ecrã"</string>
-    <string name="accessibility_magnification_mode_dialog_title" msgid="9151027667059878578">"Escolha como pretende ampliar"</string>
+    <string name="accessibility_magnification_mode_dialog_title" msgid="9151027667059878578">"Escolha como quer ampliar"</string>
     <string name="accessibility_magnification_mode_dialog_option_full_screen" msgid="4892487869954032029">"Ampliar ecrã inteiro"</string>
     <string name="accessibility_magnification_mode_dialog_option_window" msgid="4492443201099153362">"Ampliar parte do ecrã"</string>
     <string name="accessibility_magnification_mode_dialog_option_switch" msgid="561043521011229424">"Alternar entre ecrã inteiro e parte do ecrã"</string>
@@ -2184,7 +2183,7 @@
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> a cobrar"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Bateria fraca"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Permitir que a aplicação seja executada em segundo plano"</string>
-    <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Pretende limitar a atividade em segundo plano?"</string>
+    <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Quer limitar a atividade em segundo plano?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Se limitar a atividade em segundo plano de uma aplicação, esta pode apresentar um comportamento anormal."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"A app não está def. p/ otimizar a bateria, não a pode restringir.\n\nP/ restringir a app, ative a otimiz. da bateria."</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sem restrições"</string>
@@ -2447,7 +2446,7 @@
     <string name="certificate_management_app_description" msgid="8507306554200869005">"Os certificados vão validar a sua identidade quando utilizar as apps e os URLs abaixo"</string>
     <string name="uninstall_certs_credential_management_app" msgid="4945883254446077354">"Desinstalar certificados"</string>
     <string name="remove_credential_management_app" msgid="6089291496976812786">"Remover app"</string>
-    <string name="remove_credential_management_app_dialog_title" msgid="5713525435104706772">"Pretende remover esta app?"</string>
+    <string name="remove_credential_management_app_dialog_title" msgid="5713525435104706772">"Quer remover esta app?"</string>
     <string name="remove_credential_management_app_dialog_message" msgid="7739474298063646935">"Esta app não gere certificados, mas permanece no dispositivo. Quaisquer certificados instalados pela app serão desinstalados."</string>
     <string name="number_of_urls" msgid="1128699121050872188">"{count,plural, =1{# URL}other{# URLs}}"</string>
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinal para marcação de emergência"</string>
@@ -2468,7 +2467,7 @@
     <string name="backup_configure_account_default_summary" msgid="5323225330966306690">"Actualmente, nenhuma conta está a armazenar dados com cópia de segurança"</string>
     <string name="backup_erase_dialog_title" msgid="5892431263348766484"></string>
     <string name="backup_erase_dialog_message" msgid="2250872501409574331">"Deixar de fazer cópia de segurança de palavras-passe de rede Wi-Fi, marcadores, outras definições e dados da aplicação, bem como apagar todas as cópias nos servidores da Google?"</string>
-    <string name="fullbackup_erase_dialog_message" msgid="2379053988557486162">"Pretende parar de fazer cópias de segurança dos dados do dispositivo (como palavras-passe de Wi-Fi e o histórico de chamadas) e dos dados das aplicações (como as definições e os ficheiros armazenados pelas aplicações) e apagar todas as cópias nos servidores remotos?"</string>
+    <string name="fullbackup_erase_dialog_message" msgid="2379053988557486162">"Quer parar de fazer cópias de segurança dos dados do dispositivo (como palavras-passe de Wi-Fi e o histórico de chamadas) e dos dados das aplicações (como as definições e os ficheiros armazenados pelas aplicações) e apagar todas as cópias nos servidores remotos?"</string>
     <string name="fullbackup_data_summary" msgid="971587401251601473">"Faça cópias de segurança automáticas dos dados do dispositivo (como palavras-passe de Wi-Fi e o histórico de chamadas) e dos dados das aplicações (como as definições e os ficheiros armazenados pelas aplicações) remotamente.\n\nQuando ativa a cópia de segurança automática, os dados do dispositivo e das aplicações são guardados remotamente de forma periódica. Os dados das aplicações podem ser quaisquer dados que uma aplicação tenha guardado (com base nas definições do programador), incluindo dados potencialmente confidenciais como contactos, mensagens e fotos."</string>
     <string name="device_admin_settings_title" msgid="31392408594557070">"Definições de administração do dispositivo"</string>
     <string name="active_device_admin_msg" msgid="7744106305636543184">"App administração do dispositivo"</string>
@@ -2622,12 +2621,12 @@
     <string name="vpn_edit" msgid="5862301148429324911">"Editar perfil VPN"</string>
     <string name="vpn_forget" msgid="2913950864877236737">"Esquecer"</string>
     <string name="vpn_connect_to" msgid="216709261691085594">"Ligar a <xliff:g id="PROFILE">%s</xliff:g>"</string>
-    <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Pretende desligar esta VPN?"</string>
+    <string name="vpn_disconnect_confirm" msgid="6356789348816854539">"Quer desligar esta VPN?"</string>
     <string name="vpn_disconnect" msgid="7753808961085867345">"Desligar"</string>
     <string name="vpn_version" msgid="6344167191984400976">"Versão"</string>
     <string name="vpn_forget_long" msgid="729132269203870205">"Esquecer VPN"</string>
-    <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Pretende substituir a VPN existente?"</string>
-    <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Pretende definir a VPN como sempre ativa?"</string>
+    <string name="vpn_replace_vpn_title" msgid="3994226561866340280">"Quer substituir a VPN existente?"</string>
+    <string name="vpn_set_vpn_title" msgid="1667539483005810682">"Quer definir a VPN como sempre ativa?"</string>
     <string name="vpn_first_always_on_vpn_message" msgid="2769478310633047870">"Quando esta definição estiver ativada, não terá uma ligação à Internet até a VPN estabelecer ligação com êxito."</string>
     <string name="vpn_replace_always_on_vpn_enable_message" msgid="9154843462740876652">"A sua VPN existente será substituída e não terá uma ligação à Internet até a VPN estabelecer ligação com êxito."</string>
     <string name="vpn_replace_always_on_vpn_disable_message" msgid="4299175336198481106">"Já está ligado a uma VPN sempre ativa. Se ligar a outra, a VPN existente será substituída e o modo sempre ativo será desativado."</string>
@@ -2646,7 +2645,7 @@
     <string name="vpn_always_on_summary_active" msgid="175877594406330387">"Sempre ativada"</string>
     <string name="vpn_insecure_summary" msgid="4450920215186742859">"Não segura"</string>
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear ligações sem VPN"</string>
-    <string name="vpn_require_connection_title" msgid="4186758487822779039">"Pretende exigir uma ligação VPN?"</string>
+    <string name="vpn_require_connection_title" msgid="4186758487822779039">"Quer exigir uma ligação VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Insegura. Atualize para uma VPN IKEv2"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecione um perfil de VPN para permanecer sempre ligado. O tráfego de rede só será permitido quando ligado a esta VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Nenhuma"</string>
@@ -2779,7 +2778,7 @@
     <string name="extreme_threats_summary" msgid="3560742429496902008">"Receber alertas de ameaças extremas à vida e à propriedade"</string>
     <string name="severe_threats_title" msgid="8962959394373974324">"Ameaças graves"</string>
     <string name="severe_threats_summary" msgid="4982256198071601484">"Receber alertas para ameaças graves à vida e à propriedade"</string>
-    <string name="amber_alerts_title" msgid="5238275758191804575">"Alertas ÂMBAR"</string>
+    <string name="amber_alerts_title" msgid="5238275758191804575">"Alertas AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Receber boletins acerca do rapto de crianças"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repetir"</string>
     <string name="call_manager_enable_title" msgid="1214301265395158720">"Ativar gestor de chamadas"</string>
@@ -2799,8 +2798,8 @@
     <string name="nr_advanced_calling_summary" msgid="6926192539172030330">"Utilize o 5G para chamadas de voz"</string>
     <string name="contact_discovery_opt_in_title" msgid="8708034790649773814">"Enviar contactos para o operador"</string>
     <string name="contact_discovery_opt_in_summary" msgid="6539010458256667300">"Envie os números de telefone dos seus contactos para fornecer funcionalidades melhoradas."</string>
-    <string name="contact_discovery_opt_in_dialog_title" msgid="2230536282911854114">"Pretende enviar os contactos para o operador <xliff:g id="CARRIER">%1$s</xliff:g>?"</string>
-    <string name="contact_discovery_opt_in_dialog_title_no_carrier_defined" msgid="2028983133745990320">"Pretende enviar os contactos para o seu operador?"</string>
+    <string name="contact_discovery_opt_in_dialog_title" msgid="2230536282911854114">"Quer enviar os contactos para o operador <xliff:g id="CARRIER">%1$s</xliff:g>?"</string>
+    <string name="contact_discovery_opt_in_dialog_title_no_carrier_defined" msgid="2028983133745990320">"Quer enviar os contactos para o seu operador?"</string>
     <string name="contact_discovery_opt_in_dialog_message" msgid="8818310894782757538">"Os números de telefone dos seus contactos serão enviados periodicamente para o operador <xliff:g id="CARRIER">%1$s</xliff:g>.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Estas informações identificam se os seus contactos podem utilizar determinadas funcionalidades, como videochamadas ou algumas funcionalidades de mensagens."</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"afixação no ecrã"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"desafio de trabalho, trabalho, perfil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"perfil de trabalho, perfil gerido, unificar, unificação, trabalho, perfil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ativar, suspender, não bloquear, permanecer desbloqueado ao dobrar, dobrar, fechar, ecrã desligado"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestos"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"carteira"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagamentos"</string>
@@ -3127,7 +3127,7 @@
     <string name="zen_onboarding_current_setting_title" msgid="5024603685220407195">"Sem som de notificações"</string>
     <string name="zen_onboarding_new_setting_summary" msgid="7695808354942143707">"Não vê nem ouve notificações. São permitidas chamadas de contactos marcados com uma estrela ou de autores de chamadas repetentes."</string>
     <string name="zen_onboarding_current_setting_summary" msgid="8864567406905990095">"(Definição atual)"</string>
-    <string name="zen_onboarding_dnd_visual_disturbances_header" msgid="8639698336231314609">"Pretende alterar as definições de notificação do modo Não incomodar?"</string>
+    <string name="zen_onboarding_dnd_visual_disturbances_header" msgid="8639698336231314609">"Quer alterar as definições de notificação do modo Não incomodar?"</string>
     <string name="sound_work_settings" msgid="752627453846309092">"Sons do perfil de trabalho"</string>
     <string name="work_use_personal_sounds_title" msgid="7729428677919173609">"Usar sons do perfil pessoal"</string>
     <string name="work_use_personal_sounds_summary" msgid="608061627969077231">"Utilize os mesmos sons que o seu perfil pessoal"</string>
@@ -3213,7 +3213,7 @@
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ecrã de bloqueio"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostre todo o conteúdo de notificações de trabalho"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar conteúdo de trabalho confidencial"</string>
-    <string name="lock_screen_notifications_interstitial_message_profile" msgid="1456262034599029028">"Como pretende que as notificações do perfil sejam apresentadas quando o dispositivo estiver bloqueado?"</string>
+    <string name="lock_screen_notifications_interstitial_message_profile" msgid="1456262034599029028">"Como quer que as notificações do perfil sejam apresentadas quando o dispositivo estiver bloqueado?"</string>
     <string name="lock_screen_notifications_interstitial_title_profile" msgid="6950124772255324448">"Notificações do perfil"</string>
     <string name="notifications_title" msgid="4221655533193721131">"Notificações"</string>
     <string name="app_notifications_title" msgid="248374669037385148">"Notificações de apps"</string>
@@ -3603,7 +3603,7 @@
     <string name="battery_summary" msgid="2491764359695671207">"Utilizou <xliff:g id="PERCENTAGE">%1$s</xliff:g> desde o último carregamento completo"</string>
     <string name="battery_summary_24hr" msgid="7656033283282656551">"<xliff:g id="PERCENTAGE">%1$s</xliff:g> de utilização nas últimas 24 horas"</string>
     <string name="no_battery_summary" msgid="5769159953384122003">"Não utilizou bateria desde o último carregamento completo"</string>
-    <string name="share_remote_bugreport_dialog_title" msgid="1575283098565582433">"Pretende partilhar o relatório de erro?"</string>
+    <string name="share_remote_bugreport_dialog_title" msgid="1575283098565582433">"Quer partilhar o relatório de erro?"</string>
     <string name="share_remote_bugreport_dialog_message_finished" msgid="4869053468609007680">"O seu gestor de TI solicitou um relatório de erro para ajudar na resolução de problemas deste dispositivo. As aplicações e os dados podem ser partilhados."</string>
     <string name="share_remote_bugreport_dialog_message" msgid="8714439220818865391">"O seu gestor de TI solicitou um relatório de erro para ajudar na resolução de problemas deste dispositivo. As aplicações e os dados podem ser partilhados e o dispositivo pode tornar-se temporariamente mais lento."</string>
     <string name="sharing_remote_bugreport_dialog_message" msgid="3523877008096439251">"Este relatório de erro está a ser partilhado com o seu gestor de TI. Contacte-o para obter mais detalhes."</string>
@@ -3671,7 +3671,7 @@
     <string name="zen_access_warning_dialog_title" msgid="6323325813123130154">"Permitir o acesso a Não incomodar para <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_warning_dialog_summary" msgid="8468714854067428987">"A app conseguirá ligar e desligar o modo Não incomodar e fazer alterações nas definições relacionadas."</string>
     <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"Tem de permanecer ativado porque o acesso às notificações está ativado"</string>
-    <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Pretende revogar o acesso a Não incomodar do <xliff:g id="APP">%1$s</xliff:g>?"</string>
+    <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"Quer revogar o acesso a Não incomodar do <xliff:g id="APP">%1$s</xliff:g>?"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"Todas as regras Não incomodar criadas por esta app serão removidas."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"Não otimizar"</string>
     <string name="ignore_optimizations_off" msgid="9186557038453586295">"Otimizar"</string>
@@ -4078,7 +4078,7 @@
     <string name="storage_documents_and_other" msgid="3293689243732236480">"Documentos e outros"</string>
     <string name="storage_system" msgid="8472410119822911844">"Sistema"</string>
     <string name="storage_trash" msgid="2807138998886084856">"Lixo"</string>
-    <string name="storage_trash_dialog_title" msgid="2296169576049935200">"Pretende esvaziar o lixo?"</string>
+    <string name="storage_trash_dialog_title" msgid="2296169576049935200">"Quer esvaziar o lixo?"</string>
     <string name="storage_trash_dialog_ask_message" msgid="8982602137242358798">"Há <xliff:g id="TOTAL">%1$s</xliff:g> de ficheiros no lixo. Todos os itens serão eliminados definitivamente e não será possível restaurá-los."</string>
     <string name="storage_trash_dialog_empty_message" msgid="7334670765528691400">"O lixo está vazio"</string>
     <string name="storage_trash_dialog_confirm" msgid="1707723334982760436">"Esvaziar lixo"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Ativar ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Ative o ANGLE como controlador do OpenGL ES do sistema"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Ative o ANGLE como controlador predefinido do OpenGL ES. A sua ativação em dispositivos incompatíveis pode afetar algumas aplicações."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"É necessário reiniciar para alterar o controlador do OpenGL ES do sistema"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Alterações de compatibilidade da aplicação"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Ativar/desativar alterações de compatibilidade das apps"</string>
@@ -4321,14 +4321,15 @@
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"A desativar o SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Não é possível desativar o operador"</string>
     <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Ocorreu um erro e não foi possível desativar o operador."</string>
-    <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Pretende utilizar 2 SIMs?"</string>
+    <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Quer utilizar 2 SIMs?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Este dispositivo pode ter 2 SIMs ativos em simultâneo. Para continuar a utilizar 1 SIM de cada vez, toque em \"Não, obrigado\"."</string>
-    <string name="sim_action_restart_title" msgid="7054617569121993825">"Pretende reiniciar o dispositivo?"</string>
+    <string name="sim_action_restart_title" msgid="7054617569121993825">"Quer reiniciar o dispositivo?"</string>
     <string name="sim_action_yes" msgid="8076556020131395515">"Sim"</string>
     <string name="sim_action_reboot" msgid="3508948833333441538">"Reiniciar"</string>
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Não, obrigado"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Mudar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desativar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Não é possível ativar o SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Experimente ativar o SIM novamente. Se o problema continuar, reinicie o dispositivo."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ativação da rede"</string>
@@ -4344,7 +4345,7 @@
     <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Está disponível 1 número neste dispositivo, mas apenas pode utilizar um de cada vez}=2{Estão disponíveis 2 números neste dispositivo, mas apenas pode utilizar um de cada vez}other{Estão disponíveis # números neste dispositivo, mas apenas pode utilizar um de cada vez}}"</string>
     <string name="choose_sim_activating" msgid="9035902671985449448">"A ativar<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
     <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Não foi possível ativar neste momento"</string>
-    <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Pretende utilizar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
+    <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Quer utilizar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"O operador <xliff:g id="CARRIER_NAME">%1$s</xliff:g> será utilizado para dados móveis, chamadas e SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nenhum SIM ativo disponível"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Para utilizar dados móveis, funcionalidades de chamadas e SMS posteriormente, aceda às definições de rede."</string>
@@ -4356,7 +4357,7 @@
     <string name="erase_sim_fail_title" msgid="2024446702985862427">"Não é possível apagar o SIM"</string>
     <string name="erase_sim_fail_text" msgid="7870804401227483131">"Não é possível apagar este SIM devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Estabeleça ligação ao dispositivo"</string>
-    <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"A app <xliff:g id="APPNAME">%1$s</xliff:g> pretende utilizar uma rede Wi-Fi temporária para estabelecer ligação ao seu dispositivo."</string>
+    <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"A app <xliff:g id="APPNAME">%1$s</xliff:g> quer utilizar uma rede Wi-Fi temporária para estabelecer ligação ao seu dispositivo."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nenhum dispositivo encontrado. Certifique-se de que os dispositivos estão ativados e disponíveis para ligação."</string>
     <string name="network_connection_timeout_dialog_ok" msgid="6022675321823723755">"Tentar novamente"</string>
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Ocorreu um erro. A aplicação cancelou o pedido de escolha de um dispositivo."</string>
@@ -4383,7 +4384,7 @@
     <string name="contextual_card_dismiss_confirm_message" msgid="6434344989238055188">"Remover esta sugestão?"</string>
     <string name="low_storage_summary" msgid="1979492757417779718">"Tem pouco espaço de armazenamento. <xliff:g id="PERCENTAGE">%1$s</xliff:g> utilizados – <xliff:g id="FREE_SPACE">%2$s</xliff:g> livres."</string>
     <string name="contextual_card_feedback_send" msgid="7409408664417908922">"Enviar feedback"</string>
-    <string name="contextual_card_feedback_confirm_message" msgid="3186334562157665381">"Pretende enviar-nos comentários acerca desta sugestão?"</string>
+    <string name="contextual_card_feedback_confirm_message" msgid="3186334562157665381">"Quer enviar-nos comentários acerca desta sugestão?"</string>
     <string name="copyable_slice_toast" msgid="1008251852798990606">"<xliff:g id="COPY_CONTENT">%1$s</xliff:g> copiado para a área de transferência."</string>
     <string name="search_bar_account_avatar_content_description" msgid="880523277036898350"></string>
     <string name="accessibility_usage_title" msgid="9190967143518779145">"Utilização da acessibilidade"</string>
@@ -4503,7 +4504,7 @@
     <string name="calls_sms_no_sim" msgid="2336377399761819718">"sem cartão SIM"</string>
     <string name="network_and_internet_preferences_title" msgid="8635896466814033405">"Preferências de rede"</string>
     <string name="keywords_internet" msgid="7674082764898690310">"ligação de rede, internet, sem fios, dados, wifi, wi-fi, wi fi, telemóvel, dispositivo móvel, operador de telemóvel, 4g, 3g, 2g, lte"</string>
-    <string name="reset_your_internet_title" msgid="4856899004343241310">"Pretende repor a Internet?"</string>
+    <string name="reset_your_internet_title" msgid="4856899004343241310">"Quer repor a Internet?"</string>
     <string name="resetting_internet_text" msgid="6696779371800051806">"A repor a Internet…"</string>
     <string name="fix_connectivity" msgid="2781433603228089501">"Corrigir a conetividade"</string>
     <string name="networks_available" msgid="3299512933684383474">"Redes disponíveis"</string>
@@ -4535,12 +4536,12 @@
     <string name="aware_summary_when_bedtime_on" msgid="2063856008597376344">"Não disponível porque o modo de hora de dormir está ativado."</string>
     <string name="reset_importance_completed" msgid="3595536767426097205">"Reposição da importância das notificações concluída."</string>
     <string name="apps_dashboard_title" msgid="3269953499954393706">"Apps"</string>
-    <string name="bluetooth_message_access_notification_content" msgid="5111712860712823893">"Um dispositivo pretende aceder às suas mensagens. Toque para obter detalhes."</string>
+    <string name="bluetooth_message_access_notification_content" msgid="5111712860712823893">"Um dispositivo quer aceder às suas mensagens. Toque para obter detalhes."</string>
     <string name="bluetooth_message_access_dialog_title" msgid="9009836130395061579">"Permitir o acesso às mensagens?"</string>
-    <string name="bluetooth_message_access_dialog_content" msgid="7186694737578788487">"Um dispositivo Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, pretende aceder às suas mensagens.\n\nNão estabeleceu ligação ao dispositivo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> anteriormente."</string>
-    <string name="bluetooth_phonebook_access_notification_content" msgid="9175220052703433637">"Um dispositivo pretende aceder aos seus contactos e registo de chamadas. Toque para obter detalhes."</string>
+    <string name="bluetooth_message_access_dialog_content" msgid="7186694737578788487">"Um dispositivo Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, quer aceder às suas mensagens.\n\nNão estabeleceu ligação ao dispositivo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> anteriormente."</string>
+    <string name="bluetooth_phonebook_access_notification_content" msgid="9175220052703433637">"Um dispositivo quer aceder aos seus contactos e registo de chamadas. Toque para obter detalhes."</string>
     <string name="bluetooth_phonebook_access_dialog_title" msgid="7624607995928968721">"Permitir o acesso aos contactos e registo de chamadas?"</string>
-    <string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"Um dispositivo Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, pretende aceder aos seus contactos e registo de chamadas. Isto inclui dados acerca de chamadas recebidas e efetuadas.\n\nNão estabeleceu ligação ao dispositivo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> anteriormente."</string>
+    <string name="bluetooth_phonebook_access_dialog_content" msgid="959658135522249170">"Um dispositivo Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, quer aceder aos seus contactos e registo de chamadas. Isto inclui dados acerca de chamadas recebidas e efetuadas.\n\nNão estabeleceu ligação ao dispositivo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> anteriormente."</string>
     <string name="category_name_brightness" msgid="8520372392029305084">"Brilho"</string>
     <string name="category_name_lock_display" msgid="8310402558217129670">"Ecrã de bloqueio"</string>
     <string name="category_name_appearance" msgid="8287486771764166805">"Aspeto"</string>
@@ -4601,9 +4602,9 @@
     <string name="bluetooth_sim_card_access_dialog_title" msgid="5616323725563125179">"Permitir acesso ao SIM?"</string>
     <string name="bluetooth_sim_card_access_dialog_content" msgid="6281997628405909566">"Um dispositivo Bluetooth, <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g>, quer aceder aos dados do seu SIM. Estes dados incluem os seus contactos.\n\nEnquanto estiver ligado, o dispositivo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> vai receber todas as chamadas feitas para <xliff:g id="PHONE_NUMBER">%3$s</xliff:g>."</string>
     <string name="bluetooth_connect_access_notification_title" msgid="2573547043170883947">"Dispositivo Bluetooth disponível"</string>
-    <string name="bluetooth_connect_access_notification_content" msgid="1328465545685433304">"Um dispositivo pretende estabelecer ligação. Toque para obter detalhes."</string>
-    <string name="bluetooth_connect_access_dialog_title" msgid="1948056782712451381">"Pretende ligar ao dispositivo Bluetooth?"</string>
-    <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"O dispositivo <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> pretende ligar-se a este telemóvel.\n\nNão estabeleceu ligação ao dispositivo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> anteriormente."</string>
+    <string name="bluetooth_connect_access_notification_content" msgid="1328465545685433304">"Um dispositivo quer estabelecer ligação. Toque para obter detalhes."</string>
+    <string name="bluetooth_connect_access_dialog_title" msgid="1948056782712451381">"Quer ligar ao dispositivo Bluetooth?"</string>
+    <string name="bluetooth_connect_access_dialog_content" msgid="4336436466468405850">"O dispositivo <xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> quer ligar-se a este telemóvel.\n\nNão estabeleceu ligação ao dispositivo <xliff:g id="DEVICE_NAME_1">%2$s</xliff:g> anteriormente."</string>
     <string name="bluetooth_connect_access_dialog_negative" msgid="4944672755226375059">"Não ligar"</string>
     <string name="bluetooth_connect_access_dialog_positive" msgid="3630561675207269710">"Ligar"</string>
     <string name="tare_settings" msgid="3788654800004869077">"Definições de TARE"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Desinstalar app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps instaladas há # mês}other{Apps instaladas nos últimos # meses}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps instaladas há mais de # mês}other{Apps instaladas há mais de # meses}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Formato"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Escolha um formato para ver esta app se esta não tiver sido criada de forma a ajustar-se ao seu dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Apps sugeridas"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps que substituiu"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Predefinição da app"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Ecrã inteiro"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Meio ecrã"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Formato do dispositivo"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"A app vai reiniciar quando alterar o formato. Pode perder alterações não guardadas."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensor de impressões digitais"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notificações com flash"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Acerca das notificações com flash"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ativado"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desativado"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ativado"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"O nome do seu dispositivo é visível para as apps instaladas por si. Também pode ser visto por outras pessoas quando se liga a dispositivos Bluetooth ou a uma rede Wi-Fi, assim como quando configura uma zona Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Género gramatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecione o género gramatical"</string>
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 14d3296..6f3529c 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Rosto e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Rosto, impressão digital e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Rosto, impressões digitais e <xliff:g id="WATCH">%s</xliff:g> adicionados"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Desbloqueio facial e por impressão digital"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Impressão digital e Desbloqueio facial"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Desbloqueio facial e por impressão digital para o trabalho"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuração necessária"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Rosto e impressões digitais adicionados"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Rosto"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Senha • Rosto"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continuar sem o Desbloqueio facial"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Padrão • Rosto • Impressão digital"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Rosto • Impressão digital"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Senha • Rosto • Impressão digital"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continuar sem rosto ou impressão digital"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continuar sem configurar a impressão digital ou o rosto"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Nenhuma"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Deslizar"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Padrão"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Desativado"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balanço de branco da tela"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Deixar desbloqueado ao dobrar"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Deixar o display frontal desbloqueado quando o dispositivo estiver dobrado até atingir o tempo limite da tela"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automaticamente a taxa de atualização de 60 para <xliff:g id="ID_1">%1$s</xliff:g> Hz em alguns conteúdos. Maior uso da bateria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forçar taxa de atualização máxima"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"Fixar tela"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"desafio de trabalho, trabalho, perfil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"perfil de trabalho, perfil gerenciado, unificar, unificação, trabalho, perfil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"ativar, suspender, não bloquear, deixar desbloqueado ao dobrar, dobra, fechar, dobrar, fechado, tela desligada"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestos"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"carteira"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagamentos"</string>
@@ -3202,7 +3202,7 @@
     <string name="lock_screen_notifs_show_all" msgid="1300418674456749664">"Mostrar conversas, padrão e silenciosas"</string>
     <string name="lock_screen_notifs_show_alerting" msgid="6584682657382684566">"Ocultar notificações e conversas silenciosas"</string>
     <string name="lock_screen_notifs_show_none" msgid="1941044980403067101">"Não mostrar notificações"</string>
-    <string name="lock_screen_notifs_redact" msgid="9024158855454642296">"Notificações confidenciais"</string>
+    <string name="lock_screen_notifs_redact" msgid="9024158855454642296">"Notificações sensíveis"</string>
     <string name="lock_screen_notifs_redact_summary" msgid="1395483766035470612">"Mostrar conteúdo confidencial quando bloqueado"</string>
     <string name="lock_screen_notifs_redact_work" msgid="3833920196569208430">"Notificações confidenciais do perfil de trabalho"</string>
     <string name="lock_screen_notifs_redact_work_summary" msgid="3238238380405430156">"Mostrar conteúdo confidencial do perfil de trabalho quando estiver bloqueado"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Ativar o ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Ativar o ANGLE como o driver do OpenGL ES do sistema"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Ative o ANGLE como o driver do OpenGL ES padrão. A ativação desse driver em dispositivos incompatíveis pode corromper alguns aplicativos."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"É necessário reiniciar o dispositivo para mudar o driver do OpenGL ES do sistema"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Mudanças na compatibilidade do app"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Alternar mudanças de compatibilidade do app"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Agora não"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Mudar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desativar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Não foi possível ativar o chip"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Tente ativar o chip novamente. Se o problema continuar, reinicie o dispositivo."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ativação de rede"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Desinstalar app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Apps instalados no último # mês}one{Apps instalados no último # mês}other{Apps instalados nos últimos # meses}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Apps instalados há mais de # mês}one{Apps instalados há mais de # mês}other{Apps instalados há mais de # meses}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Proporção"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Escolha uma proporção para visualizar este app caso ele não tenha sido criado para caber no seu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Apps sugeridos"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Apps que você substituiu"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Padrão do app"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Tela cheia"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Meia tela"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Proporção do dispositivo"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"O app vai reiniciar quando você mudar a proporção. É possível que você perca mudanças não salvas."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensor de impressão digital"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notificações com flash"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Sobre as notificação com flash"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Ativada"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Desativada"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Ativada"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"O nome do dispositivo fica visível para os apps que você instalou. Ele também vai ficar visível para outras pessoas quando você se conectar a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configurar um ponto de acesso Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gênero gramatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selecionar gênero gramatical"</string>
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 3767a7a..58fa829 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Au fost adăugate fața și <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Au fost adăugate fața, amprenta și <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Au fost adăugate fața, amprentele și <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Deblocare facială și cu amprenta"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Deblocare cu amprenta și Deblocare facială"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Deblocarea facială și cu amprenta pentru serviciu"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Este necesară configurarea"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Fața și amprentele au fost adăugate"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"Codul PIN • Fața"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Parola • Fața"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Continuă fără Deblocarea facială"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Model • Față • Amprentă"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Față • Amprentă"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Parolă • Față • Amprentă"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Continuă fără chip sau amprentă"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Continuă fără amprentă sau chip"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Fără"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Glisare"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Model"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Dezactivat"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balansul de alb al ecranului"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Menține deblocat la pliere"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Menține ecranul frontal deblocat când dispozitivul este pliat, până la dezactivarea ecranului"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Ridică automat rata de actualizare de la 60 la <xliff:g id="ID_1">%1$s</xliff:g> Hz pentru unele tipuri de conținut. Mărește utilizarea bateriei."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forțează rata maximă de actualizare"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"fixare pe ecran"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"provocare la serviciu, serviciu, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"profil de serviciu, profil gestionat, unificați, unificare, serviciu, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"trezire, inactivitate, fără blocare, menține deblocat la pliere, pliere, închidere, pliază, închide, ecran dezactivat"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gesturi"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"portofel"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"plată, atingere, plăți"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Activează ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Activează ANGLE ca driver de sistem OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Activează ANGLE ca driver OpenGL ES prestabilit. Dacă îl activezi pe dispozitive incompatibile, unele aplicații se pot deteriora."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Este nevoie de o repornire pentru a schimba driverul de sistem OpenGL ES"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Modificări ale compatibilității aplicației"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Activează / dezactivează modificările compatibilității aplicației"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nu, mulțumesc"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Anulează"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Schimbă"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Dezactivează"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nu se poate activa SIM-ul"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Încearcă din nou să activezi SIM-ul. Dacă problema persistă, repornește dispozitivul."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activarea rețelei"</string>
@@ -4704,6 +4705,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Dezinstalează aplicația"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplicații instalate în ultima lună}few{Aplicații instalate în ultimele # luni}other{Aplicații instalate în ultimele # de luni}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplicații instalate cu peste # lună în urmă}few{Aplicații instalate cu peste # luni în urmă}other{Aplicații instalate cu peste # de luni în urmă}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Raport de dimensiuni"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Alege un raport de dimensiuni ca să vezi aplicația dacă nu a fost creată pentru a se potrivi cu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Aplicații sugerate"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplicații pe care le-ai modificat"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Prestabilit pentru aplicație"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Ecran complet"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Jumătate de ecran"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Raportul de dimensiuni al dispozitivului"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"Aplicația va reporni când schimbi raportul de dimensiuni. Este posibil să pierzi modificările nesalvate."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Senzor de amprentă"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Notificări flash"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Despre notificările flash"</string>
@@ -4754,4 +4767,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Activată"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Dezactivate"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Activate"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Numele dispozitivului este vizibil pentru aplicațiile instalate. Poate fi văzut și de alte persoane când te conectezi la dispozitivele Bluetooth sau la o rețea Wi-Fi sau când configurezi un hotspot Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Genul gramatical"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Selectează genul gramatical"</string>
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index d416c33..970bf7d 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Модель лица и часы \"<xliff:g id="WATCH">%s</xliff:g>\" добавлены"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Модель лица, отпечаток пальца и часы \"<xliff:g id="WATCH">%s</xliff:g>\" добавлены"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Модель лица, отпечатки пальцев и часы \"<xliff:g id="WATCH">%s</xliff:g>\" добавлены"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Фейсконтроль и отпечаток пальца"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отпечаток пальца и фейсконтроль"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Фейсконтроль и отпечаток пальца для работы"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Требуется настройка"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Добавлено лицо и отпечатки пальцев"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Фейсконтроль"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Пароль • Фейсконтроль"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Продолжить без фейсконтроля"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Графический ключ • Фейсконтроль • Отпечаток"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN-код • Фейсконтроль • Отпечаток пальца"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Пароль • Фейсконтроль • Отпечаток пальца"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Продолжить без фейсконтроля или отпечатка пальца"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Продолжить без настройки отпечатка пальца или фейсконтроля"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Нет"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Провести по экрану"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Графический ключ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Отключено"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс белого на экране"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Не блокировать при складывании"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Если сложить устройство, передний экран не будет заблокирован, пока не истечет время отключения экрана"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плавный экран"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Автоматически изменять частоту обновления экрана с 60 до <xliff:g id="ID_1">%1$s</xliff:g> Гц для некоторых типов контента. При этом батарея будет разряжаться быстрее."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Использовать пиковую частоту обновления"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"блокировка в приложении"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"защита рабочего профиля, рабочий, профиль"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"рабочий профиль, управляемый профиль, объединить, объединение, работа, профиль"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"не отключать, спящий режим, не блокировать, не отключать экран при складывании, складывание, закрытие, сложить, закрыть, отключение экрана"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"жесты"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"кошелек"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"Бесконтактная оплата"</string>
@@ -4155,8 +4155,8 @@
     <!-- no translation found for graphics_driver_app_preference_values:1 (485288770206606512) -->
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
-    <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Включить ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Установить ANGLE как системный драйвер OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Использовать ANGLE"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Использовать ANGLE в качестве системного драйвера OpenGL ES. Если сделать это на несовместимом устройстве, некоторые приложения могут перестать работать."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Для изменения системного драйвера OpenGL ES требуется перезагрузка."</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Изменение настроек совместимости приложений"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Показывать изменение настроек совместимости приложений"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Нет, спасибо"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Отмена"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Переключиться"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Отключить"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Не удалось активировать SIM-карту"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Попробуйте включить SIM-карту ещё раз. Если проблема не исчезнет, перезапустите устройство."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активация сети"</string>
@@ -4705,6 +4706,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Удалить приложение"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Приложения, установленные в течение # последнего месяца}one{Приложения, установленные в течение # последнего месяца}few{Приложения, установленные в течение # последних месяцев}many{Приложения, установленные в течение # последних месяцев}other{Приложения, установленные в течение # последнего месяца}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Приложения, установленные более # месяца назад}one{Приложения, установленные более # месяца назад}few{Приложения, установленные более # месяцев назад}many{Приложения, установленные более # месяцев назад}other{Приложения, установленные более # месяца назад}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Подходящие приложения"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Приложения с переопределенным вами значением"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Значение по умолчанию в приложении"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Сканер отпечатков пальцев"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Уведомления со вспышкой"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Об уведомлениях со вспышкой"</string>
@@ -4755,4 +4774,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Включено"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Отключено"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Включено"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Название устройства доступно установленным приложениям. Его также могут видеть другие пользователи, когда вы подключаетесь к устройствам Bluetooth и сетям Wi-Fi или настраиваете точку доступа Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Грамматический род"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Выберите грамматический род"</string>
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index e0e84e5..bf82069 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"මුහුණ සහ <xliff:g id="WATCH">%s</xliff:g> එක් කර ඇත"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"මුහුණ, ඇඟිලි සලකුණ, සහ <xliff:g id="WATCH">%s</xliff:g> එක් කර ඇත"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"මුහුණ, ඇඟිලි සලකුණු, සහ <xliff:g id="WATCH">%s</xliff:g> එක් කර ඇත"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"මුහුණ සහ ඇඟිලි සලකුණු අගුළු හැරීම"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"ඇඟිලි සලකුණ සහ මුහුණෙන් අගුළු හැරීම"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"වැඩ සඳහා මුහුණු සහ ඇඟිලි සලකුණු අගුළු හැරීම"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"පිහිටුවීම අවශ්‍යයි"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"මුහුණ සහ ඇඟිලි සලකුණු එක් කරන ලදි"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • මුහුණ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"මුරපදය • මුහුණ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"මුහුණෙන් අගුළු හැරීම නොමැතිව ඉදිරියට යන්න"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"රටාව • මුහුණ • ඇඟිලි සලකුණ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • මුහුණ • ඇඟිලි සලකුණ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"මුරපදය • මුහුණ • ඇඟිලි සලකුණ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"මුහුණ හෝ ඇඟිලි සලකුණ නොමැතිව ඉදිරියට යන්න"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ඇඟිලි සලකුණ හෝ මුහුණ නොමැතිව ඉදිරියට යන්න"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"කිසිවක් නැත"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ස්වයිප් කරන්න"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"රටාව"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ක්‍රියාවිරහිතයි"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"සුදු සමබරතාව සංදර්ශන කරන්න"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"නැමීම මත අගුළු හැර සිටින්න"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"තිර කාලය නිමා වන තුරු නැමුණු විට ඉදිරිපස සංදර්ශකය අගුළු හැර තබා ගන්න"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"සුමට සංදර්ශකය"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"සමහර අන්තර්ගත සඳහා නැවුම් කිරීමේ අනුපාතය 60 සිට <xliff:g id="ID_1">%1$s</xliff:g> Hz දක්වා ස්වයංක්‍රීයව ඉහළ නංවයි. බැටරි භාවිතය වැඩි කරයි."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"කාර්යබහුල යළි නැවුම් කිරීමේ අනුපාතය බල කරන්න"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"තිර ඇමිණීම"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"වැඩ අභියෝගය, වැඩ, පැතිකඩ"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"කාර්යාල පැතිකඩ, කළමනාකරණය කළ පැතිකඩ, ඒකාබද්ධ, ඒකාබද්ධ කිරීම, කාර්යාල, පැතිකඩ"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"අවදි වන්න, නිදන්න, අගුළු නොදමන්න, නැමීම මත අගුළු හැර සිටින්න, නැමීම, වැසීම, නවන්න, වසන්න, තිරය ක්‍රියා විරහිත කරන්න"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ඉංගිති"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ගෙවීම, තට්ටු කිරීම, ගෙවීම්"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE සබල කරන්න"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"පද්ධති OpenGL ES ධාවකය ලෙස ANGLE සබල කරන්න"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"පෙරනිමි OpenGL ES ධාවකය ලෙස ANGLE සබල කරන්න. නොගැළපෙන උපාංග මත එය සබල කිරීම සමහර යෙදුම් බිඳ දැමිය හැක."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"පද්ධති OpenGL ES ධාවකය වෙනස් කිරීම සඳහා නැවත පණගැන්වීමක් අවශ්‍ය වේ"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"යෙදුම් ගැළපෙන බවේ වෙනස් කිරීම්"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"යෙදුම් ගැළපෙන බව පිළිබඳ වෙනස් කිරීම් ටොගල් කරන්න"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"එපා, ස්තුතියි"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"අවලංගු කරන්න"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"මාරු වන්න"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"අක්‍රීය කරන්න"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM එක සක්‍රිය කිරීමට නොහැකිය"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"නැවත SIM එක ක්‍රියාත්මක කිරීමට උත්සාහ කරන්න. ප්‍රශ්නය දිගටම පැවතුණහොත්, ඔබේ උපාංගය යළි ආරම්භ කරන්න."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ජාල සක්‍රිය කිරීම"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"යෙදුම අස්ථාපනය කරන්න"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{පසුගිය මාස # තුළ ස්ථාපනය කරන ලද යෙදුම්}one{පසුගිය මාස # තුළ ස්ථාපනය කරන ලද යෙදුම්}other{පසුගිය මාස # තුළ ස්ථාපනය කරන ලද යෙදුම්}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{මාස #කට පෙර ස්ථාපනය කර ඇති යෙදුම්}one{මාස #කට පෙර ස්ථාපනය කර ඇති යෙදුම්}other{මාස #කට පෙර ස්ථාපනය කර ඇති යෙදුම්}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"යෝජිත යෙදුම්"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"ඔබ ප්‍රතික්‍ෂේප කර ඇති යෙදුම්"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"පෙරනිමි යෙදුම"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"ඇඟිලි සලකුණු සංවේදකය"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ෆ්ලෑෂ් දැනුම්දීම්"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ෆ්ලෑෂ් දැනුම්දීම් පිළිබඳව"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ක්‍රියාත්මකයි"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ක්‍රියාවිරහිතයි"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ක්‍රියාත්මකයි"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"ඔබේ උපාංගයේ නම ඔබ ස්ථාපනය කර ඇති යෙදුම්වලට දෘශ්‍යමාන වේ. ඔබ බ්ලූටූත් උපාංග වෙත සම්බන්ධ වන විට, Wi-Fi ජාලයකට සම්බන්ධ වන විට හෝ Wi-Fi හොට්ස්පොට් එකක් පිහිටුවන විට එය වෙනත් පුද්ගලයන් විසින් ද දැකිය හැක."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"ව්‍යාකරණමය ලිංගභේදය"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"ව්‍යාකරණමය ලිංගභේදය තෝරන්න"</string>
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index 6650b0d..98cd4df 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Tvár a hodinky <xliff:g id="WATCH">%s</xliff:g> boli pridané"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Tvár, odtlačok prsta a hodinky <xliff:g id="WATCH">%s</xliff:g> boli pridané"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Tvár, odtlačky prstov a hodinky <xliff:g id="WATCH">%s</xliff:g> boli pridané"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Odomknutie tvárou a odtlačkom prsta"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odomknutie odtlačkom prsta a tvárou"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Odomknutie tvárou a odtlačkom prsta pre prácu"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Vyžaduje sa nastavenie"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Bola pridaná tvár a odtlačky prsta"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Tvár"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Heslo • Tvár"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Pokračovať bez odomknutia tvárou"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Vzor • Tvár • Odtlačok prsta"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Tvár • Odtlačok prsta"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Heslo • Tvár • Odtlačok prsta"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Pokračovať bez tváre alebo odtlačku prsta"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Pokračovať bez odtlačku prsta či tváre"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Bez zabezpečenia"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Potiahnutie"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Vzor"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Vypnuté"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Zobrazenie vyváženia bielej"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Ponechať odomknuté po zložení"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Ponechajte si prednú obrazovku po zložení odomknutú, dokým nevyprší jej časový limit"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Plynulý obraz"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automaticky zvyšuje frekvenciu obnovenia zo 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz pre určitý obsah. Zvýši sa spotreba batérie."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Vynútiť vrcholovú frekvenciu obnovenia"</string>
@@ -1719,7 +1718,7 @@
     <string name="gesture_button_done" msgid="6387900351203032188">"Hotovo"</string>
     <string name="trackpad_go_back_title" msgid="5312164160947491440">"Prejdenie späť"</string>
     <string name="trackpad_go_back_summary" msgid="4201901101085902768">"Potiahnite troma prstami doľava alebo doprava"</string>
-    <string name="trackpad_go_home_title" msgid="2146525662148291552">"Prejdenie na plochu"</string>
+    <string name="trackpad_go_home_title" msgid="2146525662148291552">"Prechod na plochu"</string>
     <string name="trackpad_go_home_summary" msgid="2222744701528360887">"Potiahnite troma prstami"</string>
     <string name="trackpad_recent_apps_title" msgid="8195970908411585445">"Nedávne aplikácie"</string>
     <string name="trackpad_recent_apps_summary" msgid="2685092851677573794">"Potiahnite troma prstami a pridržte ich"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"pripnutie obrazovky"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"pracovná výzva, práca, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"pracovný profil, spravovaný profil, zjednotiť, zjednotenie, práca, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"prebudený, spánok, nezamykať, ponechať odomknuté po zložení, zloženie, zavretie, zavrieť, vypnúť obrazovku"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gestá"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"peňaženka"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"platiť, klepnutie, platby"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Povoliť ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Povoliť ANGLE ako systémový ovládač OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Povoľte rozhranie ANGLE ako predvolený ovládač OpenGL ES. Keď to urobíte v nekompatibilných zariadeniach, niektoré aplikácie môžu prestať fungovať."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Zmena systémového ovládača OpenGL ES vyžaduje reštart"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Zmeny v kompatibilite aplikácie"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Prepínať zmeny kompatibility aplikácie"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nie, vďaka"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Zrušiť"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Prepnúť"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Vypnúť"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM kartu sa nepodarilo aktivovať"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Skúste SIM kartu znova zapnúť. Ak bude problém pretrvávať, reštartujte zariadenie."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivácia siete"</string>
@@ -4705,6 +4706,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Odinštalovať aplikáciu"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplikácie nainštalované za posledný # mesiac}few{Aplikácie nainštalované za posledné # mesiace}many{Aplikácie nainštalované za posledného # mesiaca}other{Aplikácie nainštalované za posledných # mesiacov}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplikácie nainštalované pred viac než # mesiacom}few{Aplikácie nainštalované pred viac než # mesiacmi}many{Aplikácie nainštalované pred viac než # mesiaca}other{Aplikácie nainštalované pred viac než # mesiacmi}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Navrhované aplikácie"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplikácie, ktoré ste prepísali"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Predvolené nastavenie aplikácie"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Senzor odtlačkov prstov"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Svetelné upozornenia"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Svetelné upozornenia"</string>
@@ -4755,4 +4774,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Zapnuté"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Vypnuté"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Zapnuté"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Názov zariadenia je viditeľný pre aplikácie, ktoré ste nainštalovali. Keď sa pripojíte k zariadeniam s rozhraním Bluetooth alebo sieti Wi‑Fi, prípadne nastavíte hotspot Wi‑Fi, môžu ho uvidieť aj ďalší ľudia."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gramatický rod"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Výber gramatického rodu"</string>
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 28d36c4..8c90c7b 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Obraz in <xliff:g id="WATCH">%s</xliff:g> sta dodana"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Obraz, prstni odtis in <xliff:g id="WATCH">%s</xliff:g> so dodani"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Obraz, prstni odtisi in <xliff:g id="WATCH">%s</xliff:g> so dodani"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Odklepanje z obrazom in prstnim odtisom"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Odklepanje s prstnim odtisom in obrazom"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Odklepanje z obrazom in prstnim odtisom za delo"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Potrebna je nastavitev"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Obraz in prstni odtisi so dodani."</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"Koda PIN • Obraz"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Geslo • Obraz"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Nadaljevanje brez odklepanja z obrazom"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Vzorec • Obraz • Prstni odtis"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"Koda PIN • Obraz • Prstni odtis"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Geslo • Obraz • Prstni odtis"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Nadaljujte brez obraza ali prstnega odtisa"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Nadaljevanje brez prstnega odtisa ali obraza"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Brez"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Vlečenje"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Vzorec"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Izklopljeno"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Prikaz ravnovesja beline"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Naj ostane odklenjen po zaprtju"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Sprednji zaslon naj po zaprtju naprave ostane odklenjen, dokler se ne izteče časovna omejitev za zaslon"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Tekoč prikaz"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Samodejno povečanje hitrosti osveževanja s 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz za nekatere vsebine. Poveča porabo energije baterije."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Vsili največjo hitrost osveževanja"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"pripenjanje zaslona"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"delovna preizkušnja, delo, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"delovni profil, upravljan profil, poenotiti, poenotenje, delo, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"preprečevanje zaklepanja, stanje pripravljenosti, brez zaklepanja, odklenjeno po zaprtju, zapiranje, pregibanje, zaprtje, pregib, izklop zaslona"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"poteze"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"denarnica"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"plačaj, dotakni se, plačevanje z dotikom, plačila"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Omogoči gonilnik ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Omogoči gonilnik ANGLE kot sistemski gonilnik OpenGL ES."</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Omogoči gonilnik ANGLE kot privzeti gonilnik OpenGL ES. Če to storite v nezdružljivih napravah, nekatere aplikacije morda ne bodo delovale."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Če želite spremeniti sistemski gonilnik OpenGL ES, morate znova zagnati napravo."</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Spremembe združljivosti aplikacij"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Vklop/izklop sprememb združljivosti aplikacij"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, hvala"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Prekliči"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Preklopi"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Izklopi"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Kartice SIM ni mogoče aktivirati"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Poskusite znova vklopiti kartico SIM. Če s tem ne odpravite težave, znova zaženite napravo."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivacija omrežja"</string>
@@ -4705,6 +4706,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Odmestitev aplikacije"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplikacije, nameščene v zadnjem # mesecu}one{Aplikacije, nameščene v zadnjem # mesecu}two{Aplikacije, nameščene v zadnjih # mesecih}few{Aplikacije, nameščene v zadnjih # mesecih}other{Aplikacije, nameščene v zadnjih # mesecih}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplikacije, nameščene pred več kot # mesecem}one{Aplikacije, nameščene pred več kot # mesecem}two{Aplikacije, nameščene pred več kot # mesecema}few{Aplikacije, nameščene pred več kot # meseci}other{Aplikacije, nameščene pred več kot # meseci}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Predlagane aplikacije"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplikacije, za katere ste uveljavili preglasitev"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Privzeto za aplikacijo"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16 : 9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3 : 2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4 : 3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Tipalo prstnih odtisov"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Obveščanje z utripanjem"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"O obveščanju z utripanjem"</string>
@@ -4755,4 +4774,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Vklopljeno"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Izklopljeno"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Vklopljeno"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Ime naprave je vidno aplikacijam, ki ste jih namestili. Ko vzpostavite povezavo z napravami Bluetooth ali omrežjem Wi-Fi ali nastavite dostopno točko Wi-Fi, ga bodo morda videle tudi druge osebe."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Slovnični spol"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Izbira slovničnega spola"</string>
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index 8ec60a2..c29e361 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Fytyra dhe <xliff:g id="WATCH">%s</xliff:g> u shtuan"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Fytyra, gjurma e gishtit dhe <xliff:g id="WATCH">%s</xliff:g> u shtuan"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Fytyra, gjurmët e gishtave dhe <xliff:g id="WATCH">%s</xliff:g> u shtuan"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Shkyçja me fytyrë dhe me gjurmën e gishtit"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Shkyçja me gjurmë gishti dhe me fytyrë"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Shkyçja me fytyrë dhe gjurmë gishti për profilin e punës"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Nevojitet konfigurimi"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Fytyra dhe gjurmët e gishtave u shtuan"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Fytyrë"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Fjalëkalim • Fytyrë"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Vazhdo pa \"Shkyçjen me fytyrë\""</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Motiv • Fytyrë • Gjurmë gishti"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"Kod PIN • Fytyrë • Gjurmë gishti"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Fjalëkalim • Fytyrë • Gjurmë gishti"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Vazhdo pa fytyrë apo gjurmë gishti"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Vazhdo pa gjurmë gishti ose fytyrë"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Asnjë"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Me rrëshqitje"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Motivi"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Joaktiv"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Shfaq balancimin e të bardhës"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Mbaj të shkyçur kur paloset"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Mbaje ekranin e parmë të shkyçur kur paloset derisa koha e pritjes së ekranit të mbarojë"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Ngre automatikisht shpejtësinë e rifreskimit nga 60 në <xliff:g id="ID_1">%1$s</xliff:g> Hz për disa përmbajtje. Rrit përdorimin e baterisë."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Detyro shpejtësinë maksimale të rifreskimit"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"gozhdimi i ekranit"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"sfidë në punë, punë, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"profili i punës, profili i menaxhuar, unifiko, unifikim, punë, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"zgjuar, në gjumë, mos kyç, mbaj të shkyçur kur paloset, po paloset, po mbyllet, palos, mbyll, ekrani i fikur"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"gjestet"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"portofoli"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"paguaj, trokit, pagesa"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Aktivizo ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Aktivizo ANGLE si drejtues të OpenGL ES për sistemin"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Aktivizo ANGLE si drejtues të parazgjedhur OpenGL ES. Aktivizimi i tij në pajisje të papërputhshme mund të shkaktojë probleme në disa aplikacione."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Kërkohet rindezja për të ndryshuar drejtuesin e OpenGL ES për sistemin"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Ndryshimet e pajtueshmërisë së aplikacionit"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Aktivizo ose çaktivizo ndryshimet e përputhshmërisë së aplikacionit"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Jo, faleminderit"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Anulo"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Ndërro"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Çaktivizo"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Karta SIM nuk mund të aktivizohet"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Provo të aktivizosh kartën SIM përsëri. Nëse problemi vazhdon, rinise pajisjen."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivizimi i rrjetit"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Çinstalo aplikacionin"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Aplikacionet e instaluara në # muajin e fundit}other{Aplikacionet e instaluara në # muajt e fundit}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Aplikacionet e instaluara më shumë se # muaj më parë}other{Aplikacionet e instaluara më shumë se # muaj më parë}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Aplikacionet e sugjeruara"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Aplikacionet që ke anuluar"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Parazgjedhja e aplikacionit"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensori i gjurmës së gishtit"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Njoftimet me blic"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Rreth njoftimeve me blic"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Aktivizuar"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Çaktivizuar"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Aktivizuar"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Emri i pajisjes sate është i dukshëm për aplikacionet që ke instaluar. Ai mund të shikohet po ashtu nga persona të tjerë kur lidhesh me pajisje me Bluetooth, kur lidhesh me një rrjet Wi-Fi ose kur konfiguron një zonë të qasjes për internet me Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Gjinia gramatikore"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Zgjidh gjininë gramatikore"</string>
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 88a9f50..082dd23 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Додати су лице и <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Додати су лице, отисак прста и <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Додати су лице, отисци прстију и <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Откључавање лицем и отиском прста"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Отисак прста и откључавање лицем"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Откључавање лицем и отиском прста за посао"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Треба да подесите"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Лице и отисци прста су додати"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Лице"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Лозинка • Лице"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Наставите без откључавања лицем"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Шаблон • Лице • Отисак прста"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Лице • Отисак прста"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Лозинка • Лице • Отисак прста"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Наставите без лица или отиска прста"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Настави без отиска прста или лица"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Ништа"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Превуците"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Шаблон"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Искључено"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс беле екрана"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Не закључавај при преклапању"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Не закључава екран при преклапању до гашења екрана"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Течан приказ"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Аутоматски подиже учесталост освежавања са 60 на <xliff:g id="ID_1">%1$s</xliff:g> Hz за одређени садржај. Повећава потрошњу батерије."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Наметни максималну учесталост освежавања"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"качење екрана"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"work изазов, work, профил"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"пословни профил, профил којим се управља, обједини, обједињавање, Work, профил"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"буђење, спавање, не закључавај, не закључавај при преклопу, преклапање, затварање, преклопи, затвори, екран је искључен"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"покрети"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"новчаник"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"платите, додирните, плаћања"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Омогући ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Омогућава ANGLE као OpenGL ES управљачки програм"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Омогућава ANGLE као подразумевани OpenGL ES управљачки програм. Ако ово омогућите на некомпатибилним уређајима, можда ћете оштетити неке апликације."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Морате да рестартујете да бисте променили OpenGL ES управљачки програм система"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Промене компатибилности апликације"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Укључите/искључите промене компатибилности апликације"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Не, хвала"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Откажи"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Пређи"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Искључи"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Активирање SIM картице није успело"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Пробајте поново да укључите SIM картицу. Ако се проблем и даље јавља, рестартујте уређај."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активација мреже"</string>
@@ -4704,6 +4705,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Деинсталирај апликацију"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Апликације инсталиране у последњих месец дана}one{Апликације инсталиране у последњих # месеци}few{Апликације инсталиране у последња # месеца}other{Апликације инсталиране у последњих # месеци}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Апликације које су инсталиране пре више од # месеца}one{Апликације које су инсталиране пре више од # месеца}few{Апликације које су инсталиране пре више од # месеца}other{Апликације које су инсталиране пре више од # месеци}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Размера"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Одаберите размеру да бисте прегледали садржај ове апликације ако није дизајнирана да стаје на уређај <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Предложене апликације"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Апликације које сте заменили"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Подразумевана за апликације"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Цео екран"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"На пола екрана"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Размера уређаја"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"Апликација ће се рестартовати када промените размеру. Можда ћете изгубити несачуване промене."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Сензор за отисак прста"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Треперућа обавештења"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"О треперућим обавештењима"</string>
@@ -4754,4 +4767,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Укључено"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Искључено"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Укључено"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Апликације које сте инсталирали могу да виде назив уређаја. И други људи могу да виде назив уређаја када се повежете са Bluetooth уређајима или WiFi мрежом или подесите WiFi хотспот."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматички род"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Изаберите граматички род"</string>
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index b79a819..78597ee 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ansikte och <xliff:g id="WATCH">%s</xliff:g> har lagts till"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ansikte, fingeravtryck och <xliff:g id="WATCH">%s</xliff:g> har lagts till"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ansikte, fingeravtryck och <xliff:g id="WATCH">%s</xliff:g> har lagts till"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ansikts- och fingeravtryckslås"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Fingeravtryck och ansiktslås"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ansikts- och fingeravtryckslås för jobbprofilen"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Konfigurering krävs"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ansikte och fingeravtryck har lagts till"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"Pinkod • Ansiktslås"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Lösenord • Ansiktslås"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Fortsätt utan ansiktslås"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Mönster • Ansikte • Fingeravtryck"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"Pinkod • Ansikte • Fingeravtryck"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Lösenord • Ansikte • Fingeravtryck"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Fortsätt utan ansikte eller fingeravtryck"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Fortsätt utan fingeravtryck eller ansikte"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Inget"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Svep"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mönster"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Av"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Skärmens vitbalans"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Håll upplåst när den är vikt"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Behåll främre skärmen upplåst när enheten är vikt tills skärmens tidsgräns har uppnåtts"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Höjer automatiskt uppdateringsfrekvensen från 60 till <xliff:g id="ID_1">%1$s</xliff:g> Hz för visst innehåll. Ökar batteriförbrukningen."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Tvinga att den högsta uppdateringsfrekvensen körs"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"fästa skärmen"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"jobbutmaning, jobb, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"jobbprofil, hanterad profil, koppla samman, sammankoppling, jobb, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"aktiv, viloläge, lås inte, håll upplåst när den är vikt, vika, stänga, vik, stäng, skärm av"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"rörelser"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betala, tryck, betalningar"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Aktivera ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Aktivera ANGLE som systemets OpenGL ES-drivrutin"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Aktivera ANGLE som standard OpenGL ES-drivrutin. Om du aktiverar detta på inkompatibla enheter kan vissa appar gå sönder."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Du måste starta om enheten för att ändra systemets OpenGL ES-drivrutin"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Kompatibilitetsändringar för appar"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Aktivera eller inaktivera kompabilitetsändringar för appar"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nej tack"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Avbryt"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Byt"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Inaktivera"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Det gick inte att aktivera SIM-kortet"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Testa att aktivera SIM-kortet igen. Starta om enheten om problemet kvarstår."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Nätverksaktivering"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Avinstallera appen"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Appar som installerades den senaste månaden (# månad)}other{Appar som installerades de senaste # månaderna}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Appar som installerades för över # månad sedan}other{Appar som installerades för över # månader sedan}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Föreslagna appar"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Appar som du har åsidosatt"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Standard för appen"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Fingeravtryckssensor"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Blinkande aviseringar"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Om blinkande aviseringar"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"På"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Av"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"På"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Enhetens namn är synligt för appar du har installerat. Det kan också vara synligt för andra personer när du ansluter till Bluetooth-enheter eller ett wifi-nätverk, eller om du skapar en wifi-surfzon."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Genus"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Välj genus"</string>
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 28a2ff2..8b8c8e9 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Umeweka uso na <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Umeweka uso, alama ya kidole na <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Umeweka uso, alama za vidole na <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Kufungua kwa Alama ya Kidole na Uso"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Alama ya Kidole na Kufungua kwa Uso"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Kazini: Kufungua kwa Uso na Alama ya Kidole"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Unahitaji kuweka mipangilio"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Uso na alama za vidole zimeongezwa"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Uso"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Nenosiri • Uso"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Endelea bila kipengele cha Kufungua kwa uso"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Mchoro • Uso • Alama ya kidole"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Uso • Alama ya kidole"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Nenosiri • Uso • Alama ya kidole"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Endelea bila kufungua kwa uso wala alama ya kidole"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Endelea bila alama ya kidole au uso"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Hamna"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Telezesha kidole"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mchoro"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kimezimwa"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Ulinganifu wa weupe wa skrini"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Skrini isijifunge kikikunjwa"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Usifunge mwonekano wa mbele wakati kifaa kimekunjwa hadi muda wa skrini kujizima"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Onyesho Laini"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Huongeza kiotomatiki kiwango cha kuonyesha upya kutoka Hz 60 hadi Hz <xliff:g id="ID_1">%1$s</xliff:g> kwa baadhi ya maudhui. Huongeza matumizi ya betri."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Lazimisha kiwango cha juu cha kuonyesha upya"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"kubandika kwenye skirini"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"mashindano kazini, kazi, wasifu"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"wasifu wa kazini, wasifu uliodhibitiwa, unganisha, uunganishaji, kazi, wasifu"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"kuamka, kulala, kutofunga, skrini isijifunge kifaa kikikunjwa, kukunja, kufunga, kunja, funga, skrini imezimwa"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ishara"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Pochi"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"lipa, gusa, malipo"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Washa ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Washa ANGLE kama kiendeshaji cha OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Washa ANGLE kama kiendeshaji chaguomsingi cha OpenGL ES. Kukiwasha kwenye vifaa visivyooana kunaweza kusababisha baadhi ya programu ziache kufanya kazi."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Unahitaji kuwasha tena ili kubadilisha kiendeshaji cha mfumo cha OpenGL ES"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Mabadiliko ya Uoanifu wa Programu"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Geuza mabadiliko ya uoanifu wa programu"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Hapana"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Ghairi"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Badilisha"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Zima"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Imeshindwa kuanza kutumia SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Jaribu kuwasha SIM tena. Iwapo tatizo litaendelea, zima kisha uwashe kifaa chako."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Kuwasha mtandao"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Ondoa programu"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Programu zilizosakinishwa mwezi # uliopita}other{Programu zilizosakinishwa miezi # iliyopita}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Programu zilizosakinishwa zaidi ya mwezi # uliopita}other{Programu zilizosakinishwa zaidi ya miezi # iliyopita}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Programu unazopendekezewa"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Programu ambazo umebatilisha"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Chaguomsingi wa programu"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Kitambua alama ya kidole"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Arifa za mweko"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Kuhusu arifa za mweko"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Imewashwa"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Imezimwa"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Imewashwa"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Jina la kifaa chako litaonekana kwa programu ambazo umesakinisha. Huenda likaonekana pia na watu wengine unapooanisha na vifaa vyenye Bluetooth, unapounganisha kwenye mtandao wa Wi-Fi au unapoweka mipangilio ya mtandao pepe wa Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Jinsia ya kisarufi"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Chagua Jinsia ya kisarufi"</string>
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 73a477a..42718f7 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"முகம் மற்றும் <xliff:g id="WATCH">%s</xliff:g> சேர்க்கப்பட்டன"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"முகம், கைரேகை மற்றும் <xliff:g id="WATCH">%s</xliff:g> சேர்க்கப்பட்டன"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"முகம், கைரேகைகள் மற்றும் <xliff:g id="WATCH">%s</xliff:g> சேர்க்கப்பட்டன"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"முகம் &amp; கைரேகை அன்லாக்"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"கைரேகை &amp; முகம் காட்டித் திறத்தல்"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"பணிக்கான முகம் &amp; கைரேகை அன்லாக்"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"அமைவு தேவை"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"முகமும் கைரேகைகளும் சேர்க்கப்பட்டன"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"பின் (PIN) • முகம்"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"கடவுச்சொல் • முகம்"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"\'முகம் காட்டித் திறத்தல்\' அம்சத்தைப் பயன்படுத்தாமல் தொடர்க"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"பேட்டர்ன் • முகம் • கைரேகை"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"பின் • முகம் • கைரேகை"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"கடவுச்சொல் • முகம் • கைரேகை"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"முகம்/கைரேகையைப் பயன்படுத்தாமல் தொடர்க"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"முகத்தையோ கைரேகையையோ பயன்படுத்தாமல் தொடருங்கள்"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ஏதுமில்லை"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ஸ்வைப்"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"பேட்டர்ன்"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ஆஃப்"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"வெண் சமநிலையை காட்சிப்படுத்தல்"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"அன்லாக்கில் வைத்திருத்தல்"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"திரை அணைவு நேரம் வரை, மடக்கப்பட்டிருக்கும்போது முன்புற டிஸ்பிளேவை அன்லாக் செய்யப்பட்ட நிலையிலேயே வைத்திருங்கள்"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"சீரான காட்சி"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"சில உள்ளடக்கத்திற்கான புதுப்பிக்கும் விகிதத்தை 60 Hzல் இருந்து <xliff:g id="ID_1">%1$s</xliff:g> Hzக்குத் தானாகவே உயர்த்தும். பேட்டரி உபயோகத்தை அதிகரிக்கும்."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"கட்டாயமான அதிகபட்ச ரெஃப்ரெஷ் விகிதம்"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"திரையை பின் செய்தல்"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"பணிச்சுமை, பணி, சுயவிவரம்"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"பணிக் கணக்கு, நிர்வகிக்கப்படும் சுயவிவரம், ஒருங்கிணை, ஒருங்கிணைத்தல், பணி, சுயவிவரம்"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"விழித்திருத்தல், உறக்கம், லாக் செய்யாதிருத்தல், மடக்கப்பட்டிருக்கும்போது அன்லாக் செய்யப்பட்ட நிலையிலேயே வைத்திருத்தல், மடக்குதல், மூடுதல், மடக்கு, மூடுக, திரையை அணைத்தல்"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"சைகைகள்"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"கட்டணம் செலுத்தவும், தட்டவும், கட்டணம் செலுத்துதல்"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLEளை இயக்கு"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"சிஸ்டத்தின் OpenGL ES இயக்கியாக ANGLEளை இயக்கவும்"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"இயல்பு OpenGL ES இயக்கியாக ANGLEளை இயக்கவும். இணக்கமற்ற சாதனங்களில் அதை இயக்குவது சில ஆப்ஸைப் பாதிக்கக்கூடும்."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"சிஸ்டத்தின் OpenGL ES இயக்கியை மாற்ற மறுதொடக்கம் தேவை"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ஆப்ஸ் இணக்கத்தன்மை தொடர்பான மாற்றங்கள்"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ஆப்ஸ் இணக்கத்தன்மை தொடர்பான மாற்றங்களை நிலைமாற்றும்"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"வேண்டாம்"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ரத்துசெய்"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"மாற்று"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"முடக்கு"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"சிம்மை இயக்க முடியவில்லை"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"சிம்மை மீண்டும் ஆன் செய்து பார்க்கவும். சிக்கல் தொடரும்பட்சத்தில் சாதனத்தை மீண்டும் தொடங்கவும்."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"மொபைல் நெட்வொர்க்கை இயக்குதல்"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ஆப்ஸை நிறுவல் நீக்கு"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{கடந்த # மாதத்தில் நிறுவப்பட்ட ஆப்ஸ்}other{கடந்த # மாதங்களில் நிறுவப்பட்ட ஆப்ஸ்}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# மாதத்திற்கு முன்பு நிறுவப்பட்ட ஆப்ஸ்}other{# மாதங்களுக்கு முன்பு நிறுவப்பட்ட ஆப்ஸ்}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"பரிந்துரைக்கப்படும் ஆப்ஸ்"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"மீறிச் செயல்படுதல் அமைக்கப்பட்ட ஆப்ஸ்"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ஆப்ஸ் இயல்புநிலை"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"கைரேகை சென்சார்"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ஃபிளாஷ் அறிவிப்புகள்"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ஃபிளாஷ் அறிவிப்புகள் குறித்த அறிமுகம்"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"இயக்கப்பட்டுள்ளது"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"முடக்கப்பட்டுள்ளது"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"இயக்கப்பட்டுள்ளது"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"நீங்கள் நிறுவிய ஆப்ஸால் உங்கள் சாதனத்தின் பெயரைப் பார்க்க முடியும். புளூடூத் சாதனங்கள், வைஃபை நெட்வொர்க் ஆகியவற்றுடன் இணைக்கும்போதோ வைஃபை ஹாட்ஸ்பாட்டை அமைக்கும்போதோ அப்பெயர் பிறருக்கும் காட்டப்படக்கூடும்."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"இலக்கணப் பாலினம்"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"இலக்கணப் பாலினத்தைத் தேர்ந்தெடுத்தல்"</string>
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index c95366a..40a411b 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"ముఖం, <xliff:g id="WATCH">%s</xliff:g> జోడించబడ్డాయి"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"ముఖం, వేలిముద్ర, <xliff:g id="WATCH">%s</xliff:g> జోడించబడ్డాయి"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"ముఖం, వేలిముద్రలు, <xliff:g id="WATCH">%s</xliff:g> జోడించబడ్డాయి"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"ఫేస్ &amp; వేలిముద్ర అన్‌లాక్"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"వేలిముద్ర &amp; ఫేస్ అన్‌లాక్"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"వర్క్ కోసం ముఖం &amp; వేలిముద్ర అన్‌లాక్"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"సెటప్ అవసరం"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"ముఖం, వేలిముద్రలు జోడించబడ్డాయి"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • ఫేస్"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"పాస్‌వర్డ్ • ఫేస్"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ఫేస్ అన్‌లాక్ లేకుండానే కొనసాగించండి"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"ఆకృతి • ముఖం • వేలిముద్ర"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • ముఖం • వేలిముద్ర"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"పాస్‌వర్డ్ • ముఖం • వేలిముద్ర"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ఫేస్ లేదా వేలిముద్ర లేకుండా కొనసాగించండి"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"వేలిముద్ర లేదా ఫేస్ అన్‌లాక్ లేకుండా కొనసాగించండి"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ఏదీ వద్దు"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"స్వైప్"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ఆకృతి"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ఆఫ్"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"తెలుపు సమతుల్యతను ప్రదర్శించండి"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ఫోల్డ్‌లో అన్‌లాక్ చేసి ఉంచండి"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"మడతపెట్టినప్పుడు, స్క్రీన్ గడువు ముగిసే వరకూ ముందు వైపు డిస్‌ప్లేను అన్‌లాక్ చేసి ఉంచండి."</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"స్మూత్ డిస్‌ప్లే"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"కొంత కంటెంట్ కోసం రిఫ్రెష్ రేటును ఆటోమేటిక్‌గా 60 నుండి <xliff:g id="ID_1">%1$s</xliff:g> Hz వరకు పెంచుతుంది. బ్యాటరీ వినియోగం పెరుగుతుంది."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ఫోర్స్ పీక్ రిఫ్రెష్ రేటు"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"స్క్రీన్‌కు పిన్ చేయడం"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"కార్యాలయ సవాలు, కార్యాలయం, ప్రొఫైల్"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"కార్యాలయ ప్రొఫైల్, నిర్వహించబడిన ప్రొఫైల్, ఏకీకరించు, ఏకీకరణ, కార్యాలయం, ప్రొఫైల్"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"యాక్టివ్, స్లీప్, లాక్ చేయవద్దు, మడిచినప్పుడు అన్‌లాక్ చేసి ఉంచండి, మడతపెట్టడం, మూసివేయడం, మడవడం, మూసివేయండి, స్క్రీన్ ఆఫ్"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"సంజ్ఞలు"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"చెల్లించడం, నొక్కడం, పేమెంట్‌లు"</string>
@@ -3209,7 +3209,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"మొత్తం నోటిఫికేషన్ కంటెంట్‌ను చూపించండి"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"గోప్యమైన కంటెంట్‌ను అన్‌లాక్‌లో మాత్రమే చూపండి"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ఎలాంటి నోటిఫికేషన్‌లను చూపవద్దు"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"మీ లాక్ స్క్రీన్ డిస్‌ప్లే ఎలా ఉండాలని అనుకుంటున్నారు?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"మీ లాక్ స్క్రీన్ ఎలా డిస్‌ప్లే కావాలనుకుంటున్నారు?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"లాక్ స్క్రీన్"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"మొత్తం వర్క్ నోటిఫికేషన్ కంటెంట్‌ను చూపు"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"గోప్యమైన పని కంటెంట్‌ను దాచండి"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLEను ఎనేబుల్ చేయండి"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"సిస్టమ్ OpenGL ES డ్రైవర్‌గా ANGLEను ఎనేబుల్ చేయండి"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ఆటోమేటిక్ సెట్టింగ్ OpenGL ES డ్రైవర్‌గా ANGLEను ఎనేబుల్ చేయండి. అనుకూలంగా లేని పరికరాలలో దీన్ని ఎనేబుల్ చేయడం వలన కొన్ని అప్లికేషన్‌లు క్రాష్ కావచ్చు."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"సిస్టమ్ OpenGL ES డ్రైవర్‌ను మార్చడానికి రీబూట్ చేయడం అవసరం"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"యాప్ అనుకూలత మార్పులు"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"యాప్ అనుకూలత మార్పులను టోగుల్ చేయడం"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"వద్దు, ధన్యవాదాలు"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"రద్దు చేయండి"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"స్విచ్ చేయి"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ఆఫ్ చేయండి"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIMను యాక్టివేట్ చేయడం సాధ్యం కాదు"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIMను తిరిగి ఆన్ చేయడానికి ట్రై చేయండి. సమస్య ఇంకా కొనసాగితే, మీ పరికరాన్ని రీస్టార్ట్ చేయండి."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"నెట్‌వర్క్ యాక్టివేషన్"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"యాప్‌ను అన్‌ఇన్‌స్టాల్ చేయండి"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{గత # నెలలో ఇన్‌స్టాల్ చేసిన యాప్‌లు}other{గత # నెలలలో ఇన్‌స్టాల్ చేసిన యాప్‌లు}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{ఇన్‌స్టాల్ చేసి # నెలకు పైగా అయిన యాప్‌లు}other{ఇన్‌స్టాల్ చేసి # నెలలకు పైగా అయిన యాప్‌లు}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"ఆకార నిష్పత్తి"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"ఈ యాప్ మీ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>‌కు సరిపోయేలా డిజైన్ చేయకుంటే చూడటానికి ఆకార నిష్పత్తిని ఎంచుకోండి"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"సూచించిన యాప్‌లు"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"మీరు ఓవర్‌రైడ్ చేసిన యాప్‌లు"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"యాప్ ఆటోమేటిక్ సెట్టింగ్"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"ఫుల్ స్క్రీన్"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"సగం స్క్రీన్"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"పరికరం ఆకార నిష్పత్తి"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"మీరు ఆకార నిష్పత్తిని మార్చినప్పుడు యాప్ రీస్టార్ట్ అవుతుంది. మీరు సేవ్ చేయని మార్పులను కోల్పోవచ్చు."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"వేలిముద్ర సెన్సార్"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"ఫ్లాష్ నోటిఫికేషన్‌లు"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"ఫ్లాష్ నోటిఫికేషన్‌ల గురించి పరిచయం"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"ఆన్‌లో ఉంది"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ఆఫ్‌లో ఉంది"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"ఆన్‌లో ఉంది"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"మీరు ఇన్‌స్టాల్ చేసిన యాప్‌లకు మీ పరికరం పేరు కనిపిస్తుంది. మీరు బ్లూటూత్ పరికరాలకు కనెక్ట్ చేసినప్పుడు, Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ చేసినప్పుడు లేదా Wi-Fi హాట్‌స్పాట్‌ను సెటప్ చేసినప్పుడు ఇతర వ్యక్తులకు కూడా చూడవచ్చు."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"వ్యాకరణ లింగం"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"వ్యాకరణ లింగం ఎంచుకోండి"</string>
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 97012c6..caa2e84 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"เพิ่มใบหน้าและ<xliff:g id="WATCH">%s</xliff:g> แล้ว"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"เพิ่มใบหน้า ลายนิ้วมือ และ<xliff:g id="WATCH">%s</xliff:g> แล้ว"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"เพิ่มใบหน้า ลายนิ้วมือ และ<xliff:g id="WATCH">%s</xliff:g> แล้ว"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"การปลดล็อกด้วยใบหน้าและลายนิ้วมือ"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"การปลดล็อกด้วยลายนิ้วมือและใบหน้า"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"การปลดล็อกด้วยใบหน้าและลายนิ้วมือสำหรับการทำงาน"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ต้องตั้งค่า"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"เพิ่มใบหน้าและลายนิ้วมือแล้ว"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • ใบหน้า"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"รหัสผ่าน • ใบหน้า"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"ดำเนินการต่อโดยไม่ใช้การปลดล็อกด้วยใบหน้า"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"รูปแบบ • ใบหน้า • ลายนิ้วมือ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • ใบหน้า • ลายนิ้วมือ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"รหัสผ่าน • ใบหน้า • ลายนิ้วมือ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"ดำเนินการต่อโดยไม่ตั้งค่าการปลดล็อกด้วยใบหน้าหรือลายนิ้วมือ"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"ดำเนินการต่อโดยไม่ใช้ลายนิ้วมือหรือใบหน้า"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"ไม่มี"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"ปัด"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"รูปแบบ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"ปิด"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"แสดงไวท์บาลานซ์"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"ปลดล็อกค้างไว้เมื่อพับ"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"ปลดล็อกหน้าจอด้านหน้าค้างไว้เมื่อพับจนถึงระยะหมดเวลาหน้าจอ"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"เพิ่มอัตราการรีเฟรชจาก 60 เป็น <xliff:g id="ID_1">%1$s</xliff:g> Hz โดยอัตโนมัติสำหรับเนื้อหาบางรายการ เพิ่มการใช้งานแบตเตอรี่"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"บังคับอัตราการรีเฟรชเป็นสูงสุด"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"การปักหมุดหน้าจอ"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"ความท้าทายในการทำงาน, งาน, โปรไฟล์"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"โปรไฟล์งาน, โปรไฟล์ที่มีการจัดการ, รวม, การรวม, งาน, โปรไฟล์"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"เปิดหน้าจอค้าง, สลีป, ไม่ต้องล็อก, ปลดล็อกค้างไว้เมื่อพับ, การพับ, การปิด, พับ, ปิด, ปิดหน้าจอ"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ท่าทางสัมผัส"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ชำระเงิน แตะ การชำระเงิน"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"เปิดใช้ ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"เปิดใช้ ANGLE เป็นไดรเวอร์ OpenGL ES ของระบบ"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"เปิดใช้ ANGLE เป็นไดรเวอร์ OpenGL ES เริ่มต้น การเปิดใช้ในอุปกรณ์ที่เข้ากันไม่ได้อาจทำให้แอปพลิเคชันบางอย่างเสียหาย"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"ต้องรีบูตเพื่อเปลี่ยนไดรเวอร์ OpenGL ES ของระบบ"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"การเปลี่ยนแปลงความเข้ากันได้ของแอป"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"สลับการเปลี่ยนแปลงความเข้ากันได้ของแอป"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ไม่เป็นไร"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ยกเลิก"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"เปลี่ยน"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ปิด"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"เปิดใช้งานซิมไม่ได้"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ลองเปิดใช้ซิมอีกครั้ง หากยังพบปัญหาอยู่ ให้รีสตาร์ทอุปกรณ์"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"การเปิดใช้งานเครือข่าย"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ถอนการติดตั้งแอป"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{แอปที่ติดตั้งใน # เดือนที่ผ่านมา}other{แอปที่ติดตั้งใน # เดือนที่ผ่านมา}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{แอปที่ติดตั้งนานกว่า # เดือนที่ผ่านมา}other{แอปที่ติดตั้งนานกว่า # เดือนที่ผ่านมา}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"แอปที่แนะนำ"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"แอปที่คุณลบล้าง"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ค่าเริ่มต้นของแอป"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"เซ็นเซอร์ลายนิ้วมือ"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"การแจ้งเตือนด้วยแฟลช"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"เกี่ยวกับการแจ้งเตือนด้วยแฟลช"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"เปิด"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"ปิด"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"เปิด"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"แอปที่คุณติดตั้งจะเห็นชื่อของอุปกรณ์ และคนอื่นก็อาจเห็นเช่นกันหากคุณเชื่อมต่อกับอุปกรณ์บลูทูธหรือเครือข่าย Wi-Fi หรือตั้งค่าฮอตสปอต Wi-Fi"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"เพศทางไวยากรณ์"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"เลือกเพศทางไวยากรณ์"</string>
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 86d932a..65d26b6 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Naidagdag ang mukha at <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Naidagdag ang mukha, fingerprint, at <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Naidagdag ang mukha, mga fingerprint, at <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Pag-unlock Gamit ang Mukha at Fingerprint"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Pag-unlock Gamit ang Fingerprint at Mukha"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Pag-unlock Gamit ang Mukha at Fingerprint para sa trabaho"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Kinakailangan ang pag-set up"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Nagdagdag ng mukha at mga fingerprint"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Mukha"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Password • Mukha"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Magpatuloy nang walang Pag-unlock Gamit ang Mukha"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Pattern • Mukha • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Mukha • Fingerprint"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Password • Mukha • Fingerprint"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Magpatuloy nang walang mukha o fingerprint"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Magpatuloy nang walang fingerprint o mukha"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Wala"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Mag-swipe"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Naka-off"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"White balance ng display"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Naka-unlock kapag naka-fold"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Hayaang naka-unlock ang front display kapag naka-fold hanggang sa mag-timeout ang screen"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth na Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Awtomatikong itinataas sa <xliff:g id="ID_1">%1$s</xliff:g> Hz, mula sa 60 Hz ang refresh rate para sa ilang content. Nakakadagdag sa paggamit ng baterya."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Puwersahin sa pinakamataas na rate ng pag-refresh"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"pag-pin sa screen"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"hamon sa trabaho, trabaho, profile"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"profile sa trabaho, pinamamahalaang profile, pagsamahin, pagsasama, trabaho, profile"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"naka-wake, sleep, huwag i-lock, manatiling naka-unlock kapag naka-fold, pag-fold, pagsara, i-fold, isara, i-off ang screen"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"mga galaw"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"magbayad, mag-tap, mga pagbabayad"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"I-enable ang ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"I-enable ang ANGLE bilang OpenGL ES driver ng system"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"I-enable ang ANGLE bilang default na OpenGL ES driver. Posibleng masira ang ilang application kapag na-enable ito sa mga hindi compatible na device."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Kinakailangang mag-reboot para mabago ang OpenGL ES driver ng system"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Mga Pagbabago sa Compatibility ng App"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"I-toggle ang mga pagbabago sa compatibility ng app"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Huwag na lang"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Kanselahin"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Lumipat"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"I-off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Hindi ma-activate ang SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Subukang i-on ulit ang SIM. Kung magpapatuloy ang problema, i-restart ang iyong device."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Pag-activate ng network"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"I-uninstall ang app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Mga app na na-install sa nakalipas na # buwan}one{Mga app na na-install sa nakalipas na # buwan}other{Mga app na na-install sa nakalipas na # na buwan}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Mga app na na-install nang higit sa # buwan na ang nakalipas}one{Mga app na na-install nang higit sa # buwan na ang nakalipas}other{Mga app na na-install nang higit sa # na buwan na ang nakalipas}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Mga iminumungkahing app"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Mga app na na-override mo"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Default ng app"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Sensor para sa fingerprint"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Mga flash notification"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Tungkol sa mga flash notification"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Naka-on"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Naka-off"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Naka-on"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Nakikita ang pangalan ng device sa mga app na na-install mo. Puwede rin itong makita ng ibang tao kapag ikaw ay kumonekta sa mga Bluetooth device, kumonekta sa Wi-Fi network, o nag-set up ng Wi-Fi hotspot."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Kasarian para sa grammar"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Pumili ng Kasarian para sa grammar"</string>
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 5172e78..36efa64 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Yüz ve <xliff:g id="WATCH">%s</xliff:g> eklendi"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Yüz, parmak izi ve <xliff:g id="WATCH">%s</xliff:g> eklendi"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Yüz, parmak izleri ve <xliff:g id="WATCH">%s</xliff:g> eklendi"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Yüz Tanıma ve Parmak İzi Kilidi"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Parmak İzi ve Yüz Tanıma Kilidi"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"İş profili için Yüz Tanıma ve Parmak İzi Kilidi"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Kurulum gerekiyor"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Yüz ve parmak izleri eklendi"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Yüz"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Şifre • Yüz"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Yüz Tanıma Kilidi olmadan devam et"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Desen • Yüz • Parmak İzi"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • Yüz • Parmak İzi"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Şifre • Yüz • Parmak İzi"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Yüz tanıma veya parmak izi kilidi kurmadan devam edin"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Parmak izi veya yüz tanıma kilidi kurmadan devam et"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Yok"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Kaydırma"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Desen"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kapalı"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Beyaz dengeyi göster"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Katlanmışken kilidi açık bırak"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Ekran zaman aşımına uğrayana kadar ön ekranın kilidini açık bırak"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Bazı içerikler için yenileme hızını otomatik olarak 60 Hz\'den <xliff:g id="ID_1">%1$s</xliff:g> Hz\'e yükseltir. Pil kullanımını artırır."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Yoğun yenileme hızına zorla"</string>
@@ -2688,7 +2687,7 @@
     <string name="ssl_ca_cert_info_message" msgid="3111724430981667845">"{numberOfCertificates,plural, =1{{orgName}, iş profilinize sertifika yetkilisi yükledi. Yönetici, bu sertifikayla e-postalar, uygulamalar ve güvenli web siteleri de dahil olmak üzere iş ağı etkinliğini izleyebilir.\n\nBu sertifika hakkında daha fazla bilgi edinmek için yöneticinizle iletişime geçin.}other{{orgName}, iş profilinize sertifika yetkilileri yükledi. Yönetici, bu sertifikalarla e-postalar, uygulamalar ve güvenli web siteleri de dahil olmak üzere iş ağı etkinliğini izleyebilir.\n\nBu sertifikalar hakkında daha fazla bilgi edinmek için yöneticinizle iletişime geçin.}}"</string>
     <string name="ssl_ca_cert_warning_message" msgid="4374052724815563051">"E-postalarınız, uygulamalarınız ve güvenli web siteleriniz dahil olmak üzere ağ etkinliğiniz üçüncü bir tarafça izlenebilir.\n\nCihazınızda yüklü durumdaki güvenilen bir kimlik bilgisi bunu mümkün kılmaktadır."</string>
     <string name="ssl_ca_cert_settings_button" msgid="2044927302268394991">"{count,plural, =1{Sertifikayı kontrol et}other{Sertifikaları kontrol et}}"</string>
-    <string name="user_settings_title" msgid="6550866465409807877">"Birden çok kullanıcı"</string>
+    <string name="user_settings_title" msgid="6550866465409807877">"Birden fazla kullanıcı"</string>
     <string name="user_list_title" msgid="1387379079186123404">"Kullanıcılar ve Profiller"</string>
     <string name="user_add_user_or_profile_menu" msgid="305851380425838287">"Kullanıcı veya profil ekle"</string>
     <string name="user_summary_restricted_profile" msgid="451650609582185813">"Kısıtlı profil"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ekran sabitleme"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"iş güvenlik sorusu, iş, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"iş profili, yönetilen profil, birleştir, birleştirme, iş, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"uyanık, uyku, kilitleme, katlanmışken kilidi açık bırak, katlama, kapatma, katla, kapat, ekran kapalı"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"hareketler"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"cüzdan"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ödeme, dokunma, ödemeler"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE\'ı etkinleştir"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE\'ı, sistem OpenGL ES sürücüsü olarak etkinleştirin"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE\'ı, varsayılan OpenGL ES sürücüsü olarak etkinleştirin. Bunu uyumlu olmayan cihazlarda etkinleştirirseniz bazı uygulamalarda sorun yaşanabilir."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Sistem OpenGL ES sürücüsünü değiştirmek için yeniden başlatma gerekir"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Uygulama Uyumluluğuyla İlgili Değişiklikler"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Uygulama uyumluluk değişikliklerini aç/kapat"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Hayır, teşekkürler"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"İptal"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Geç"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Kapat"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM etkinleştirilemiyor"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM\'i tekrar açmayı deneyin. Sorun devam ederse cihazınızı yeniden başlatın."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ağ etkinleştirme"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Uygulamanın yüklemesini kaldır"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Son # ay içinde yüklenen uygulamalar}other{Son # ay içinde yüklenen uygulamalar}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# aydan daha uzun süre önce yüklenen uygulamalar}other{# aydan daha uzun süre önce yüklenen uygulamalar}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"En boy oranı"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Bu uygulama <xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazınıza uyacak şekilde tasarlanmadıysa uygulamayı görüntülemek için bir en boy oranı seçin."</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Önerilen uygulamalar"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Geçersiz kıldığınız uygulamalar"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Uygulama varsayılanı"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Tam ekran"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Yarım ekran"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Cihaz en boy oranı"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"En boy oranını değiştirdiğinizde uygulama yeniden başlatılır. Kaydedilmemiş değişiklikleri kaybedebilirsiniz."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Parmak izi sensörü"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Işıklı Bildirim"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Işıklı bildirimler hakkında"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Açık"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Kapalı"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Açık"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Yüklediğiniz uygulamalar, cihazınızın adını görebilecek. Cihazınızın adı ayrıca Bluetooth cihazlara bağlandığınızda, kablosuz ağa bağlandığınızda veya kablosuz hotspot oluşturduğunuzda diğer kişiler tarafından görülecektir."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Dil bilgisine uygun cinsiyet"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Dil bilgisine uygun cinsiyet seçin"</string>
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 4d60921..9a6985e 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Додано обличчя та годинник \"<xliff:g id="WATCH">%s</xliff:g>\""</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Додано обличчя, відбиток пальця та годинник \"<xliff:g id="WATCH">%s</xliff:g>\""</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Додано обличчя, відбитки пальців і годинник \"<xliff:g id="WATCH">%s</xliff:g>\""</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Фейс-контроль і розблокування відбитком пальця"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Розблокування відбитком пальця й фейс-контроль"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Фейс-контроль і відбиток пальця для роботи"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Потрібно налаштувати"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Обличчя й відбитки пальців додано"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN-код • Фейс-контроль"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Пароль • Фейс-контроль"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Продовжити без фейсконтролю"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Ключ • Фейс-контроль • Відбиток пальця"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN-код • Фейс-контроль • Відбиток пальця"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Пароль • Фейс-контроль • Відбиток пальця"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Продовжити без фейс-контролю чи відбитка пальця"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Продовжити без відбитка пальця чи фейс-контролю"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Немає"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Провести по екрану"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Ключ"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Вимкнено"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс білого для екрана"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Не блокувати після складання"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Залишати передній екран розблокованим на складеному пристрої, доки не настане час вимкнення екрана"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плавне відображення"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Автоматично збільшує частоту оновлення певного контенту із 60 до <xliff:g id="ID_1">%1$s</xliff:g> Гц. Збільшує використання заряду акумулятора."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Примусово найбільша частота оновлення"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"закріпити екран"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"робоче завдання, робочий, профіль"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"робочий профіль, керований профіль, об’єднати, об’єднання, робота, профіль"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"час активності, режим сну, не блокувати, не блокувати на складеному пристрої, складання, закриття, скласти, закрити, вимкнений екран"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"жести"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"гаманець"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"оплатити, торкнутися, платежі"</string>
@@ -3885,7 +3885,7 @@
     <string name="reset_shortcut_manager_throttling_complete" msgid="8949943009096885470">"Обмеження швидкості в ShortcutManager скинуто"</string>
     <string name="notification_suggestion_title" msgid="6309263655965785411">"Керуйте інформацією на заблокованому екрані"</string>
     <string name="notification_suggestion_summary" msgid="7615611244249276113">"Показуйте або приховуйте вміст сповіщень"</string>
-    <string name="page_tab_title_support" msgid="3235725053332345773">"Поради та підтримка"</string>
+    <string name="page_tab_title_support" msgid="3235725053332345773">"Поради й підтримка"</string>
     <string name="developer_smallest_width" msgid="632354817870920911">"Найменша ширина"</string>
     <string name="premium_sms_none" msgid="8737045049886416739">"Установлені додатки не запитували доступу до платних SMS"</string>
     <string name="premium_sms_warning" msgid="2192300872411073324">"Кошти за платні SMS стягує оператор. Ви зможете надсилати платні SMS через додаток, якому надасте такий дозвіл."</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Увімкнути ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Увімкнути ANGLE як системний драйвер OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE буде ввімкнено як драйвер OpenGL ES за умовчанням. На несумісних пристроях це може перервати роботу деяких додатків."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Щоб змінити системний драйвер OpenGL ES, перезапустіть пристрій"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Зміни сумісності додатка"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Увімкнути або вимкнути зміни сумісності додатка"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ні, дякую"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Скасувати"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Вибрати"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Вимкнути"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Не вдається активувати SIM-карту"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Спробуйте знову ввімкнути SIM-карту. Якщо проблема не зникне, перезапустіть пристрій."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активація мережі"</string>
@@ -4705,6 +4706,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Видалити додаток"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Додатки, установлені протягом останнього # місяця}one{Додатки, установлені протягом останнього # місяця}few{Додатки, установлені протягом останніх # місяців}many{Додатки, установлені протягом останніх # місяців}other{Додатки, установлені протягом останнього # місяця}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Додатки, установлені понад # місяць тому}one{Додатки, установлені понад # місяць тому}few{Додатки, установлені понад # місяці тому}many{Додатки, установлені понад # місяців тому}other{Додатки, установлені понад # місяця тому}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Рекомендовані додатки"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Додатки з перевизначеним форматом"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Формат додатка за умовчанням"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Сканер відбитків пальців"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Сповіщення зі спалахом"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Про сповіщення зі спалахом"</string>
@@ -4755,4 +4774,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Увімкнено"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Вимкнено"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Увімкнено"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Назва пристрою відображається в установлених додатках. Її також можуть бачити інші користувачі, коли ви підключаєтеся до пристроїв із Bluetooth чи мережі Wi-Fi або налаштовуєте точку доступу Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Граматичний рід"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Виберіть граматичний рід"</string>
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 95922bd..cccd9fe 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"چہرہ اور <xliff:g id="WATCH">%s</xliff:g> شامل کیے گئے"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"چہرہ، فنگر پرنٹ اور <xliff:g id="WATCH">%s</xliff:g> شامل کیے گئے"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"چہرہ، فنگر پرنٹس اور <xliff:g id="WATCH">%s</xliff:g> شامل کیے گئے"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"فیس اور فنگر پرنٹ اَن لاک"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"فنگر پرنٹ اور فیس انلاک"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"کام کے لیے فیس اور فنگر پرنٹ اَن لاک"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"سیٹ اپ درکار ہے"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"چہرے اور فنگر پرنٹس کو شامل کیا گیا"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"‏PIN • چہرہ"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"پاس ورڈ • چہرہ"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"فیس اَنلاک کے بغیر جاری رکھیں"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"پیٹرن • چہرہ • فنگر پرنٹ"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"‏PIN • چہرہ • فنگر پرنٹ"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"پاس ورڈ • چہرہ • فنگر پرنٹ"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"چہرے یا فنگر پرنٹ کے بغیر جاری رکھیں"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"فنگر پرنٹ یا چہرے کے بغیر جاری رکھیں"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"کوئی نہیں"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"سوائپ"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"پیٹرن"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"آف"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"وہائٹ بیلنس ڈسپلے کریں"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"فولڈ ہونے پر غیر مقفل رکھیں"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"اسکرین ٹائم آؤٹ ہونے تک فولڈ ہونے پر فرنٹ ڈسپلے کو غیر مقفل رکھیں"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ہموار ڈسپلے"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"‏کچھ مواد کے لیے 60 سے <xliff:g id="ID_1">%1$s</xliff:g> Hz تک ریفریش کی شرح خودکار طور پر بڑھ جاتی ہے۔ بیٹری کے استعمال میں کرتی ہیں"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"زیادہ سے زیادہ ریفریش کی شرح پر مجبور کریں"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"اسکرین کو پن کرنا"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"کام کا چیلنج، کام، پروفائل"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"دفتری پروفائل، منظم پروفائل، یکجا کریں، یکجا کرنا، کام، پروفائل"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"جاگنا، سونا، مقفل نہ کرنا، فولڈ ہونے پر غیر مقفل رکھنا، فولڈ کرنا، بند کرنا، فولڈ کرنا، بند کرنا، اسکرین آف کرنا"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"اشارے"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"والٹ"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ادائیگی کریں، تھپتھپائیں، ادائیگیاں"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"‏ANGLE کو فعال کریں"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"‏ANGLE کو سسٹم OpenGL ES ڈرائیور کے طور پر فعال کریں"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"‏ANGLE کو ڈیفالٹ OpenGL ES ڈرائیور کے طور پر فعال کریں۔ اسے غیر موافق آلات پر فعال کرنے سے کچھ ایپلیکیشنز کام کرنا بند کر سکتی ہیں۔"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"‏سسٹم OpenGL ES ڈرائیور تبدیل کرنے کے لیے ریبوٹ کی ضرورت ہے"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"ایپ کی موافقت میں تبدیلیاں"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"ایپ کی موافقت کی تبدیلیاں ٹوگل کریں"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"نہیں شکریہ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"منسوخ کریں"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"سوئچ کریں"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"آف کریں"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"‏SIM کو فعال نہیں کیا جا سکتا"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"‏SIM کو دوبارہ آن کرنے کی کوشش کریں۔ مسئلے کے برقرار رہنے پر اپنا آلہ ری اسٹارٹ کریں۔"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"نیٹ ورک کی فعالیت"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"ایپ کو اَن انسٹال کریں"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{ایپس گزشتہ # ماہ میں انسٹال کی گئیں}other{ایپس گزشتہ # ماہ میں انسٹال کی گئیں}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{ایپس # ماہ سے زیادہ پہلے انسٹال کی گئیں}other{ایپس # ماہ سے زیادہ پہلے انسٹال کی گئیں}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"تناسبی شرح"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"اگر یہ آپ کے <xliff:g id="DEVICE_NAME">%1$s</xliff:g> کے مطابق نہیں بنائی گئی ہے تو اس ایپ کو دیکھنے کے لیے تناسبی شرح کا انتخاب کریں"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"تجویز کردہ ایپس"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"وہ ایپس جنہیں آپ نے اوور رائیڈ کیا ہے"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"ایپ کا ڈیفالٹ"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"فُل اسکرین"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"آدھی اسکرین"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"آلہ کی تناسبی شرح"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"جب آپ تناسبی شرح تبدیل کریں گے تو ایپ دوبارہ شروع ہو جائے گی۔ آپ غیر محفوظ شدہ تبدیلیوں سے محروم ہو سکتے ہیں۔"</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"فنگر پرنٹ سینسر"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"فلیش کرنے والی اطلاعات"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"فلیش کرنے والی اطلاعات کے بارے میں"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"آن ہے"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"آف ہے"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"آن ہے"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"‏آپ کے آلے کا نام آپ کی انسٹال کردہ ایپس میں دکھائی دیتا ہے۔ آپ کے بلوٹوتھ آلات سے منسلک ہونے، Wi-Fi نیٹ ورک سے منسلک ہونے یا Wi-Fi ہاٹ اسپاٹ کو سیٹ اپ کرنے پر دوسرے لوگ بھی اسے دیکھ سکتے ہیں۔"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"قواعد سے متعلق صنف"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"قواعد سے متعلق صنف منتخب کریں"</string>
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index f062ee0..87424ae 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Yuz va <xliff:g id="WATCH">%s</xliff:g> qoʻshildi"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Yuz, barmoq izi va <xliff:g id="WATCH">%s</xliff:g> qoʻshildi"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Yuz, barmoq izlari va <xliff:g id="WATCH">%s</xliff:g> qoʻshildi"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Yuz va barmoq izi bilan ochish"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Barmoq izi va yuz bilan ochish"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ish uchun Yuz va Barmoq izi bilan ochish"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Sozlash talab etiladi"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Yuz va barmoq izlari kiritildi"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • Yuz"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Parol • Yuz"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Yuz bilan ochish funksiyasisiz davom etish"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Grafik kalit • Yuz • Barmoq izi"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN kod • Yuz • Barmoq izi"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Parol • Yuz • Barmoq izi"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Yuz yoki barmoq izisiz davom etish"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Barmoq izi yoki yuzsiz davom etish"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Hech qanday"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Ekranni surish"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Grafik kalit"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Oʻchiq"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Ekrandagi oq rang muvozanati"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Buklanganda qulflanmasin"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Old displeyni ekran vaqti tugaguncha buklanganda qulflanmagan tursin"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Ayrim kontent uchun ekranning yangilanish chastotasi 60-<xliff:g id="ID_1">%1$s</xliff:g> Gs orasida almashib turadi. Batareya tezroq sarflanadi."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Eng yuqori majburiy yangilanish chastotasi"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ekranni mahkamlash"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"ish vazifasi, ish, profil"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"ish profili, boshqariluvchi profil, birlashtirish, birlashuv, ish, profil"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"uygʻoq, uyqu, qulflanmasin, qulflanmagan holda qolsin, buklangan, buklangan holatda, yopish, buklash, yopiq, ekran oʻchiq"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ishoralar"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"to‘lash, bosish, to‘lovlar"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"ANGLE yoqilsin"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"ANGLE tizim OpenGL ES drayveri sifatida yoqilsin"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"ANGLE OpenGL ES drayveri sifatida yoqilsin. Mos boʻlmagan qurilmalarda yoqilganda, ayrim ilovalar ishlamay qolishi mumkin."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Tizim OpenGL ES drayveri oʻzgarishi uchun qayta ishga tushirish zarur"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Ilovalar mosligi sozlamalaridagi oʻzgarishlar"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Ilova mosligiga oʻzgartirishlarni koʻrsatish"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Kerak emas"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Bekor qilish"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Almashtirish"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Faolsizlantirish"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM karta faollashmadi"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM kartani qaytadan yoqing. Agar muammo davom etsa, qurilmangizni qayta ishga tushiring."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Tarmoqni faollashtirish"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Ilovani oʻchirish"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Oxirgi # oy ichida oʻrnatilgan ilovalar}other{Oxirgi # oy ichida oʻrnatilgan ilovalar}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# oy oldin oʻrnatilgan ilovalar}other{# oy oldin oʻrnatilgan ilovalar}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Tomonlar nisbati"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Bu ilova <xliff:g id="DEVICE_NAME">%1$s</xliff:g> uchun moslanmagan, shu sababli qulay tomonlar nisbatini tanlang"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Tavsiya etilgan ilovalar"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Siz almashtirgan ilovalar"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Ilova standart tomonlar nisbati"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Butun ekran"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Yarim ekran"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Qurilmadagi tomonlar nisbati"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"Tomonlar nisbati oʻzgarishi bilan ilova qaytadan ishga tushadi. Oʻzgarishlar saqlanmasligi mumkin."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Barmoq izi skaneri"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Yoritkichli bildirishnomalar"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Yoritkichli bildirishnomalar haqida"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Yoniq"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Oʻchiq"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Yoniq"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Qurilma nomi siz oʻrnatgan ilovalarga koʻrinadi. Bluetooth qurilmalarga yoki Wi-Fi tarmoqqa ulanganingizda, Wi-Fi hotspot sozlaganingizda boshqalarga ham koʻrinishi mumkin."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Grammatik jins"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Grammatik jinsni tanlang"</string>
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index f86a6cf..094770a 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Đã thêm khuôn mặt và <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Đã thêm khuôn mặt, vân tay và <xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Đã thêm khuôn mặt, vân tay và <xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Mở khóa bằng khuôn mặt và vân tay"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Mở khoá bằng vân tay và Mở khoá bằng khuôn mặt"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Mở khoá bằng khuôn mặt và vân tay cho công việc"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Cần thiết lập"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Đã thêm khuôn mặt và các vân tay"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"Mã PIN • Khuôn mặt"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Mật khẩu • Khuôn mặt"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Tiếp tục mà không thiết lập tính năng Mở khóa bằng khuôn mặt"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Hình mở khóa • Khuôn mặt • Vân tay"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"Mã PIN • Khuôn mặt • Vân tay"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Mật khẩu • Khuôn mặt • Vân tay"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Tiếp tục mà không thiết lập khuôn mặt hoặc vân tay"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Tiếp tục mà không dùng vân tay hoặc khuôn mặt"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Không"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Vuốt"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Hình mở khóa"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Tắt"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Cân bằng trắng của màn hình"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Luôn mở khoá khi gập"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Giữ màn hình ngoài luôn mở khoá khi điện thoại gập lại cho đến khi hết thời gian chờ khoá màn hình"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Hình ảnh mượt"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Tự động tăng tốc độ làm mới từ 60 lên <xliff:g id="ID_1">%1$s</xliff:g> Hz đối với một số nội dung. Chế độ cài đặt này sẽ làm tăng mức sử dụng pin."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Buộc chuyển sang tốc độ làm mới cao nhất"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ghim màn hình"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"thách thức công việc, công việc, hồ sơ"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"hồ sơ công việc, hồ sơ được quản lý, thống nhất, hợp nhất, làm việc, hồ sơ"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"bật, ngủ, không khoá, luôn mở khoá khi gập, đang gập, đang đóng, gập, đóng, màn hình tắt"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"cử chỉ"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"ví"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"thanh toán, nhấn, khoản thanh toán"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Bật ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Bật ANGLE làm trình điều khiển hệ thống OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Bật ANGLE làm trình điều khiển hệ thống OpenGL ES. Bật tính năng này trên thiết bị không tương thích có thể làm hỏng một số ứng dụng."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Cần phải khởi động lại để thay đổi trình điều khiển hệ thống OpenGL ES"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Các thay đổi về khả năng tương thích của ứng dụng"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Bật/tắt các thay đổi về khả năng tương thích của ứng dụng"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Không, cảm ơn"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Hủy"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Chuyển"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Tắt thông báo"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Không thể kích hoạt SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Hãy thử bật lại SIM. Nếu vấn đề vẫn xảy ra, vui lòng khởi động lại thiết bị."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Kích hoạt mạng"</string>
@@ -4703,6 +4704,24 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Gỡ cài đặt ứng dụng"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Ứng dụng được cài đặt trong vòng # tháng gần đây}other{Ứng dụng được cài đặt trong vòng # tháng gần đây}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Ứng dụng được cài đặt từ hơn # tháng trước}other{Ứng dụng được cài đặt từ hơn # tháng trước}}"</string>
+    <!-- no translation found for aspect_ratio_title (2451826875939676101) -->
+    <skip />
+    <!-- no translation found for aspect_ratio_summary (5944347596728740547) -->
+    <skip />
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Các ứng dụng được đề xuất"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Các ứng dụng bạn đã ghi đè"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Mặc định của ứng dụng"</string>
+    <!-- no translation found for user_aspect_ratio_fullscreen (1843427242540081996) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_half_screen (1015852057094310209) -->
+    <skip />
+    <!-- no translation found for user_aspect_ratio_device_size (2339820985120881199) -->
+    <skip />
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <!-- no translation found for app_aspect_ratio_footer (8661813386126142251) -->
+    <skip />
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Cảm biến vân tay"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Thông báo bằng đèn flash"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Giới thiệu về thông báo bằng đèn flash"</string>
@@ -4753,4 +4772,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Đang bật"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Đang tắt"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Đang bật"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Các ứng dụng bạn đã cài đặt sẽ biết được tên thiết bị của bạn. Những người khác cũng có thể thấy tên thiết bị này khi bạn kết nối với thiết bị Bluetooth, một mạng Wi-Fi hoặc thiết lập một điểm phát sóng Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Giống trong ngữ pháp"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Chọn giống trong ngữ pháp"</string>
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 3466238..762d868 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"已添加面孔和“<xliff:g id="WATCH">%s</xliff:g>”"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"已添加面孔、指纹和“<xliff:g id="WATCH">%s</xliff:g>”"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"已添加面孔、指纹和“<xliff:g id="WATCH">%s</xliff:g>”"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"人脸解锁和指纹解锁"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指纹解锁和人脸解锁"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"用于工作资料的人脸解锁和指纹解锁"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要设置"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"已添加面孔和多个指纹"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN 码 • 面孔"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"密码 • 面孔"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"不设置人脸解锁并继续"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"图案 • 人脸 • 指纹"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN 码 • 人脸 • 指纹"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"密码 • 人脸 • 指纹"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"继续,不设置人脸解锁或指纹解锁"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"继续,不设置人脸解锁或指纹解锁"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"无"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"滑动"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"图案"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"已关闭"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"显示屏白平衡"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"折叠时保持解锁状态"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"折叠时使外屏保持解锁状态,直至屏幕超时"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"流畅画面"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"自动将某些内容的刷新率从 60 Hz 调高到 <xliff:g id="ID_1">%1$s</xliff:g> Hz。但会增加耗电量。"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"强制使用峰值刷新频率"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"固定屏幕"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"工作验证, 工作, 资料"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"工作资料, 托管资料, 汇整, 统一, 工作, 资料"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"唤醒, 休眠, 不锁定, 折叠时保持解锁状态, 折叠状态, 关闭状态, 折叠, 关闭, 屏幕关闭"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"手势"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"钱包"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"支付、点按、付款"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"启用 ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"启用 ANGLE 作为系统 OpenGL ES 驱动程序"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"启用 ANGLE 作为默认 OpenGL ES 驱动程序。在不兼容的设备上启用该功能可能会导致某些应用崩溃。"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"必须重新启动,才能更改系统 OpenGL ES 驱动程序"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"应用兼容性变更"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"在应用兼容性变更之间切换"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"不用了"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"取消"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"切换"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"停用"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"无法激活 SIM 卡"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"请尝试重新启用 SIM 卡。如果问题仍然存在,请重启您的设备。"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"网络激活"</string>
@@ -4550,7 +4551,7 @@
     <string name="dark_theme_main_switch_title" msgid="4045147031947562280">"使用深色主题"</string>
     <string name="bluetooth_main_switch_title" msgid="8409835540311309632">"使用蓝牙"</string>
     <string name="prevent_ringing_main_switch_title" msgid="4726252811262086643">"使用“阻止响铃”"</string>
-    <string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"使用“WLAN 热点”"</string>
+    <string name="use_wifi_hotsopt_main_switch_title" msgid="3909731167290690539">"使用 WLAN 热点"</string>
     <string name="app_pinning_main_switch_title" msgid="5465506660064032876">"使用“固定应用”"</string>
     <string name="developer_options_main_switch_title" msgid="1720074589554152501">"使用“开发者选项”"</string>
     <string name="default_print_service_main_switch_title" msgid="4697133737128324036">"使用打印服务"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"卸载应用"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{过去 # 个月内安装的应用}other{过去 # 个月内安装的应用}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{# 个多月前安装的应用}other{# 个多月前安装的应用}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"宽高比"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"如果应用的设计不适配您的<xliff:g id="DEVICE_NAME">%1$s</xliff:g>,请选择一个宽高比进行查看"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"有推荐宽高比的应用"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"已覆盖宽高比的应用"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"应用默认设置"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"全屏"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"半屏"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"设备宽高比"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"更改宽高比后,应用将重启。未保存的更改可能会丢失。"</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"指纹传感器"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"闪烁通知"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"闪烁通知简介"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"已开启"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"已关闭"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"已开启"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"您安装的应用可以查看您的设备名称。此外,当您连接到蓝牙设备、连接到 WLAN 网络或设置 WLAN 热点时,其他人可能也会看到您的设备名称。"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"语法性别"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"选择语法性别"</string>
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 8d42d05..7642d03 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"已新增面孔和<xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"已新增面孔、指紋和<xliff:g id="WATCH">%s</xliff:g>"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"已新增面孔、指紋和<xliff:g id="WATCH">%s</xliff:g>"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"面孔和指紋解鎖"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指紋及面孔解鎖"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"用於工作設定檔的面孔和指紋解鎖"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要設定"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"已新增面孔和指紋"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN • 面孔解鎖"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"密碼 • 面孔解鎖"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"繼續但不設定「面孔解鎖」"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"圖案 • 面孔 • 指紋"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN • 面孔 • 指紋"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"密碼 • 面孔 • 指紋"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"繼續操作,但不設定面孔或指紋解鎖"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"不使用指紋或面孔解鎖並繼續操作"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"無"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"滑動"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"圖案"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"關閉"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"顯示屏白平衡"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"折疊時保持解鎖"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"折疊時保持前方螢幕解鎖,直至螢幕逾時為止"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"流暢顯示"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"自動將部分內容的重新整理頻率提升至 60 到 <xliff:g id="ID_1">%1$s</xliff:g> Hz 之間。電池用量會因而增加。"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"強制使用最高重新整理頻率"</string>
@@ -2935,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"螢幕固定"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"工作挑戰, 工作, 設定檔"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"工作設定檔, 受管理的設定檔, 整合, 整合, 工作, 設定檔"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"清醒, 睡覺, 不要上鎖, 折疊時保持解鎖, 正在折疊, 正在合上, 折疊, 合上, 關閉螢幕"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"手勢"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"錢包"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"支付, 輕按, 付款"</string>
@@ -4156,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"啟用 ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"啟用 ANGLE 為系統 OpenGL ES 驅動程式"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"啟用 ANGLE 為預設 OpenGL ES 驅動程式。在不兼容的裝置上啟用可能會破壞部分應用程式。"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"你需要重新開機,才能變更 OpenGL ES 驅動程式"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"應用程式兼容性變更"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"切換應用程式兼容性變更"</string>
@@ -4329,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"不用了,謝謝"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"取消"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"切換"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"關閉"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"無法啟用 SIM 卡"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"請嘗試再次啟用 SIM 卡。如果問題持續發生,請重新啟動裝置。"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"網絡啟用"</string>
@@ -4703,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"解除安裝應用程式"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{過去 # 個月安裝的應用程式}other{過去 # 個月安裝的應用程式}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{超過 # 個月前安裝的應用程式}other{超過 # 個月前安裝的應用程式}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"顯示比例"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"如果這個應用程式並未提供適合 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> 的設計,請選擇要查看的顯示比例。"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"有建議顯示長寬比的應用程式"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"已覆寫顯示長寬比的應用程式"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"應用程式預設"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"全螢幕"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"半螢幕"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"裝置顯示比例"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"變更顯示比例後,應用程式會重新啟動。你可能會遺失未儲存的變更內容。"</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"指紋感應器"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"閃光燈通知"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"關於閃光燈通知"</string>
@@ -4753,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"已啟用"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"已停用"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"已啟用"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"你安裝的應用程式可以取得你的裝置名稱。當你連接藍牙裝置或 Wi-Fi 網絡,或設定 Wi-Fi 熱點時,其他人亦可能會看到你的裝置名稱。"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"語法性別"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"選取語法性別"</string>
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 573a0e3..704671a 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -192,20 +192,13 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"星期六"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"如果應用程式不支援地區偏好設定,就會使用預設的語言代碼設定。"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"進一步瞭解語言偏好設定"</string>
-    <!-- no translation found for category_title_terms_of_address (4309422700380895278) -->
-    <skip />
-    <!-- no translation found for terms_of_address_title (4064593634733842458) -->
-    <skip />
-    <!-- no translation found for terms_of_address_summary (6136134336560679144) -->
-    <skip />
-    <!-- no translation found for terms_of_address_intro_title (6149691509414243483) -->
-    <skip />
-    <!-- no translation found for terms_of_address_not_specified (4439257779351251973) -->
-    <skip />
-    <!-- no translation found for terms_of_address_feminine (1743479869695539283) -->
-    <skip />
-    <!-- no translation found for terms_of_address_masculine (983106046135098856) -->
-    <skip />
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"其他偏好設定"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"稱謂"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"設定你想要的稱謂"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"應用程式可以使用你的稱謂量身打造對你的稱呼方式。"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"未指定"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"女性"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"男性"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{要移除所選語言嗎?}other{要移除所選語言嗎?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"使用介面的文字會切換成另一種語言。"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"無法移除所有語言"</string>
@@ -395,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"已新增臉孔和「<xliff:g id="WATCH">%s</xliff:g>」"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"已新增臉孔、指紋和「<xliff:g id="WATCH">%s</xliff:g>」"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"已新增臉孔、指紋和「<xliff:g id="WATCH">%s</xliff:g>」"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"人臉和指紋解鎖"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"指紋與人臉解鎖"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"用於工作資料夾的人臉和指紋解鎖"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要設定"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"已新增臉孔和指紋"</string>
@@ -552,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"PIN 碼 • 人臉解鎖"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"密碼 • 人臉解鎖"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"繼續但不設定人臉解鎖功能"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"解鎖圖案 • 人臉 • 指紋"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"PIN 碼 • 人臉 • 指紋"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"密碼 • 人臉 • 指紋"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"繼續但不設定人臉或指紋解鎖"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"不設定指紋與人臉解鎖並繼續操作"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"無"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"滑動"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"圖案"</string>
@@ -1009,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"關閉"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"螢幕白平衡"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"摺疊時保持解鎖狀態"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"摺疊時讓封面螢幕保持解鎖狀態,直到螢幕自動關閉為止"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"流暢顯示"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"自動將某些內容的刷新率從 60 Hz 調高到 <xliff:g id="ID_1">%1$s</xliff:g> Hz。請注意,開啟這項設定會增加電池用量。"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"強制使用最高重新整理頻率"</string>
@@ -1479,18 +1471,12 @@
     <string name="lockpassword_remote_validation_set_pattern_as_screenlock" msgid="7595104317648465901">"一併使用圖案解鎖這部裝置"</string>
     <string name="lockpassword_remote_validation_set_pin_as_screenlock" msgid="509672303005547218">"一併使用 PIN 碼解鎖這部裝置"</string>
     <string name="lockpassword_remote_validation_set_password_as_screenlock" msgid="2066701840753591922">"一併使用密碼解鎖這部裝置"</string>
-    <!-- no translation found for lockpassword_confirm_repair_mode_pattern_header (6669435143987988314) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pin_header (2585263648322879131) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_password_header (3064676176428495228) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pattern_details (6187536224419477465) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_pin_details (203022189107305807) -->
-    <skip />
-    <!-- no translation found for lockpassword_confirm_repair_mode_password_details (4860219600771003873) -->
-    <skip />
+    <string name="lockpassword_confirm_repair_mode_pattern_header" msgid="6669435143987988314">"驗證解鎖圖案"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_header" msgid="2585263648322879131">"驗證 PIN 碼"</string>
+    <string name="lockpassword_confirm_repair_mode_password_header" msgid="3064676176428495228">"驗證密碼"</string>
+    <string name="lockpassword_confirm_repair_mode_pattern_details" msgid="6187536224419477465">"畫出裝置解鎖圖案即可繼續"</string>
+    <string name="lockpassword_confirm_repair_mode_pin_details" msgid="203022189107305807">"輸入裝置 PIN 碼即可繼續"</string>
+    <string name="lockpassword_confirm_repair_mode_password_details" msgid="4860219600771003873">"輸入裝置密碼即可繼續"</string>
     <string name="lockpassword_invalid_pin" msgid="7530854476819820600">"PIN 碼錯誤"</string>
     <string name="lockpassword_invalid_password" msgid="1588184930542221687">"密碼錯誤"</string>
     <string name="lockpattern_need_to_unlock_wrong" msgid="8109305107409924083">"圖案錯誤"</string>
@@ -1862,7 +1848,7 @@
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"使用快速手勢放大畫面"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"使用快速手勢並輕觸三下即可放大畫面"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"關於「<xliff:g id="SERVICE">%1$s</xliff:g>」"</string>
-    <string name="accessibility_text_reading_options_title" msgid="3224648909213325563">"螢幕大小和文字"</string>
+    <string name="accessibility_text_reading_options_title" msgid="3224648909213325563">"顯示大小和文字"</string>
     <string name="accessibility_text_reading_options_suggestion_title" msgid="2492155642665312733">"變更文字的顯示方式"</string>
     <string name="accessibility_text_reading_preview_mail_subject" msgid="4597374768612733616">"主旨:熱氣球設計案"</string>
     <string name="accessibility_text_reading_preview_mail_from" msgid="1797499780365288020">"寄件者:阿比"</string>
@@ -1929,10 +1915,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"進一步瞭解無障礙工具按鈕和手勢"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"請使用無障礙工具按鈕。手勢無法搭配三按鈕操作機制。"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"快速使用無障礙功能"</string>
-    <!-- no translation found for accessibility_button_gesture_description (1141723096904904336) -->
-    <skip />
-    <!-- no translation found for accessibility_button_description (7669538706120092399) -->
-    <skip />
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;詳細步驟&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 開啟無障礙設定&lt;br/&gt; {1,number,integer}. 選取功能並輕觸捷徑&lt;br/&gt; {2,number,integer}. 選擇是否要透過按鈕或手勢執行該功能&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;詳細步驟&lt;/b&gt;&lt;br/&gt; {0,number,integer}. 開啟無障礙設定&lt;br/&gt; {1,number,integer}. 選取功能並輕觸捷徑&lt;br/&gt; {2,number,integer}. 選擇要用來執行該功能的按鈕&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"使用按鈕或手勢"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"位置"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"大小"</string>
@@ -2950,6 +2934,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"螢幕固定"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"Work 驗證、Work、設定檔"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"工作資料夾, 受管理設定檔, 整合, 整合, Work, 設定檔"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"不鎖定螢幕, 休眠, 不鎖定, 摺疊時保持解鎖狀態, 摺疊狀態, 關閉狀態, 摺疊, 關閉, 關閉螢幕"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"手勢"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"錢包"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"支付、輕觸、付款"</string>
@@ -3505,10 +3490,8 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"關閉"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"應用程式固定"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"你可以使用應用程式固定功能,將目前使用的應用程式固定在螢幕上,直到你取消固定為止。如果想讓信任的好友用你的手機玩遊戲,就可以使用這個功能。"</string>
-    <!-- no translation found for screen_pinning_description (5822120806426139396) -->
-    <skip />
-    <!-- no translation found for screen_pinning_guest_user_description (2307270321127139579) -->
-    <skip />
+    <string name="screen_pinning_description" msgid="5822120806426139396">"應用程式固定後,可能會開啟其他應用程式並存取個人資料。\n\n如要使用應用程式固定功能,請按照下列步驟操作:	\n{0,number,integer}. 開啟應用程式固定功能 	\n{1,number,integer}. 開啟總覽 	\n{2,number,integer}. 輕觸畫面頂端的應用程式圖示,然後輕觸「固定」"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"應用程式固定後,可能會開啟其他應用程式並存取個人資料。\n\n如要安全地與人共用裝置,建議你改用訪客使用者設定檔。\n\n如要使用應用程式固定功能,請按照下列步驟操作:	\n{0,number,integer}. 開啟應用程式固定功能 	\n{1,number,integer}. 開啟總覽 	\n{2,number,integer}. 輕觸畫面頂端的應用程式圖示,然後輕觸「固定」"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"固定應用程式後:\n\n•	 該應用程式可存取個人資料\n		(例如聯絡人和電子郵件內容)\n•		固定的應用程式可開啟其他應用程式\n\n請務必只針對你信任的人使用應用程式固定功能。"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"取消固定時必須畫出解鎖圖案"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"取消固定時必須輸入 PIN 碼"</string>
@@ -4173,7 +4156,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"啟用 ANGLE"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"啟用 ANGLE 做為系統 OpenGL ES 驅動程式"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"啟用 ANGLE 做為預設 OpenGL ES 驅動程式。在不相容的裝置上啟用 ANGLE,可能會導致某些應用程式受損。"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"需要重新啟動才能變更系統 OpenGL ES 驅動程式"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"應用程式相容性變更"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"切換應用程式相容性變更"</string>
@@ -4346,6 +4329,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"不用了,謝謝"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"取消"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"切換"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"關閉"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"無法啟用 SIM 卡"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"請試著再次啟用 SIM 卡,如果問題持續發生,請重新啟動裝置。"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"啟用網路"</string>
@@ -4720,6 +4704,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"解除安裝應用程式"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{過去 # 個月內安裝的應用程式}other{過去 # 個月內安裝的應用程式}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{超過 # 個月前安裝的應用程式}other{超過 # 個月前安裝的應用程式}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"顯示比例"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"如果這個應用程式並未提供適合 <xliff:g id="DEVICE_NAME">%1$s</xliff:g> 的設計,請選擇要查看的顯示比例。"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"有建議顯示比例的應用程式"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"已覆寫顯示比例的應用程式"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"應用程式預設"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"全螢幕"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"半螢幕"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"裝置顯示比例"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"變更顯示比例後,應用程式會重新啟動。你可能會遺失未儲存的變更內容。"</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"指紋感應器"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"閃光燈通知"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"關於閃光燈通知"</string>
@@ -4770,4 +4766,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"已啟用"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"已停用"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"已啟用"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"你安裝的應用程式會取得裝置名稱。當你連上藍牙裝置、Wi-Fi 網路或者設定 Wi-Fi 無線基地台時,其他人也可能會看到這個裝置名稱。"</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"語法性別"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"選取語法性別"</string>
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index b492e98..530f40c 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -388,7 +388,7 @@
     <string name="security_settings_face_watch_preference_summary" msgid="5817376447253802793">"Ubuso ne-<xliff:g id="WATCH">%s</xliff:g> zingeziwe"</string>
     <string name="security_settings_fingerprint_single_face_watch_preference_summary" msgid="764951912234638192">"Ubuso, isigxivizo somunwe, ne-<xliff:g id="WATCH">%s</xliff:g> kungeziwe"</string>
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary" msgid="3935500711366489380">"Ubuso, izigxivizo zomunwe, ne-<xliff:g id="WATCH">%s</xliff:g> kungeziwe"</string>
-    <string name="security_settings_biometric_preference_title" msgid="298146483579539448">"Ukuvula ngobuso nangesigxivizo somunwe"</string>
+    <string name="security_settings_biometric_preference_title" msgid="5012627247749093938">"Isigxivizo somunwe Nokuvula Ngobuso"</string>
     <string name="security_settings_work_biometric_preference_title" msgid="3121755615533533585">"Ukuvula Ngobuso Nangesigxivizo Somunwe emsebenzini"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Ukusetha kuyadingeka"</string>
     <string name="security_settings_biometric_preference_summary_both_fp_multiple" msgid="4821859306609955966">"Ubuso nezigxivizo zeminwe kungeziwe"</string>
@@ -545,10 +545,7 @@
     <string name="face_unlock_set_unlock_pin" msgid="9034912683791069602">"Iphinikhodi • Ubuso"</string>
     <string name="face_unlock_set_unlock_password" msgid="5874950853246424756">"Iphasiwedi • Ubuso"</string>
     <string name="face_unlock_skip_face" msgid="189695556498300008">"Qhubeka ngaphandle Kokuvula ngobuso"</string>
-    <string name="biometrics_unlock_set_unlock_pattern" msgid="8084495264354847044">"Iphethini • Ubuso • Izigxivizo zeminwe"</string>
-    <string name="biometrics_unlock_set_unlock_pin" msgid="5912980580857825894">"Iphinikhodi • Ubuso • Izigxivizo zeminwe"</string>
-    <string name="biometrics_unlock_set_unlock_password" msgid="4612217647465743624">"Iphasiwedi • Ubuso • Izigxivizo zeminwe"</string>
-    <string name="biometrics_unlock_skip_biometrics" msgid="7785643433551409223">"Qhubeka ngaphandle kokuvula ngobuso noma isigxivizo somunwe"</string>
+    <string name="biometrics_unlock_skip_biometrics" msgid="7399882488272450182">"Qhubeka ngaphandle kwesigxivizo sominwe noma ubuso"</string>
     <string name="unlock_set_unlock_mode_off" msgid="4632139864722236359">"Lutho"</string>
     <string name="unlock_set_unlock_mode_none" msgid="5596049938457028214">"Swayipha"</string>
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Iphathini"</string>
@@ -1002,6 +999,8 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Kuvaliwe"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Bonisa ibhalansi emhlophe"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
+    <string name="stay_awake_on_fold_title" msgid="4195536619511589471">"Hlala ungakhiyile egoqweni"</string>
+    <string name="stay_awake_on_fold_summary" msgid="2413928869516675293">"Gcina isibonisi sangaphambili sivuliwe uma sigoqiwe isikrini size siphelelwe yisikhathi"</string>
     <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Isibonisi esibushelelezi"</string>
     <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Iphakamisa ngokuzenzakalela isilinganiso sokuvuselela kusukela kokungu-60 ukuya kokungu-<xliff:g id="ID_1">%1$s</xliff:g> Hz kokunye okuqukethwe. Ikhuphula ukusetshenziswa kwebhethri."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Phoqelela isilinganiso sokuvuselela esiphakeme"</string>
@@ -2936,6 +2935,7 @@
     <string name="keywords_app_pinning" msgid="1564144561464945019">"ukuphina isikrini"</string>
     <string name="keywords_profile_challenge" msgid="5135555521652143612">"ukuphonselwa inselelo komsebenzi, umsebenzi, iphrofayela"</string>
     <string name="keywords_unification" msgid="2677472004971453468">"iphrofayela yomsebenzi, iphrofayela ephethwe, ukuhlanganisa, ukuhlanganisa, umsebenzi, iphrofayela"</string>
+    <string name="keywords_stay_awake_on_lock" msgid="6338367464776295697">"vuka, lala, ungakhiyi, hlala ungakhiyile ekugoqweni, ukugoqa, ukuvala, ukugoqa, ukuvala, ukuvala isikrini"</string>
     <string name="keywords_gesture" msgid="3456930847450080520">"ukuthinta"</string>
     <string name="keywords_wallet" msgid="3757421969956996972">"i-wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"khokha, thepha, i-payments"</string>
@@ -4157,7 +4157,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="3985105681812713612">"Nika i-ANGLE amandla"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="4173041926052925436">"Nika amandla i-ANGLE njengomshayeli wesistimu ye-OpenGL ES"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="6413038127558166972">"Nika amandla i-ANGLE njengomshayeli wesistimu ye-OpenGL ES. Ukuyivumela kumadivayisi angasebenzisani kungase kwephule amanye ama-app."</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Ukuqalisa kabusha kuyadingeka ukuze ushintshe umshayeli wesistimu we-OpenGL ES"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Ushintsho lokuhambisana kwe-app"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Guqula ushintsho lokuhambisana kohlelo lokusebenza"</string>
@@ -4330,6 +4330,7 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Cha ngiyabonga"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Khansela"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Shintsha"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Vala"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Akukwazi ukwenza i-SIM isebenze"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Zama ukuvula i-SIM futhi. Inkinga iyaqhubeka, qala kabusha idivayisi yakho."</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ukwenziwa kusebenze kwenethiwekhi"</string>
@@ -4704,6 +4705,18 @@
     <string name="background_install_uninstall_button_description" msgid="1189649052911501249">"Khipha i-app"</string>
     <string name="background_install_before" msgid="8608614957688912715">"{count,plural, =1{Ama-app afakwe enyangeni e-# edlule}one{Ama-app afakwe ezinyangeni ezingu-# ezedlule}other{Ama-app afakwe ezinyangeni ezingu-# ezedlule}}"</string>
     <string name="background_install_after" msgid="7983488897570908149">"{count,plural, =1{Ama-app afakwe ngaphezu kwenyanga e-# edlule}one{Ama-app afakwe ngaphezu kwezinyanga ezingu-# ezidlule}other{Ama-app afakwe ngaphezu kwezinyanga ezingu-# ezidlule}}"</string>
+    <string name="aspect_ratio_title" msgid="2451826875939676101">"Ukubukeka kwesilinganiselo"</string>
+    <string name="aspect_ratio_summary" msgid="5944347596728740547">"Khetha i-aspect ratio ukuze ubuke le-app uma ingakaklanywa ukuba ilingane ne-<xliff:g id="DEVICE_NAME">%1$s</xliff:g> yakho"</string>
+    <string name="user_aspect_ratio_suggested_apps_label" msgid="8085934042329632039">"Ama-app aphakanyisiwe"</string>
+    <string name="user_aspect_ratio_overridden_apps_label" msgid="1564914138276629704">"Ama-app owakhiphile"</string>
+    <string name="user_aspect_ratio_app_default" msgid="270065763307617837">"Okuzenzakalelayo kwe-app"</string>
+    <string name="user_aspect_ratio_fullscreen" msgid="1843427242540081996">"Iskrini esigcwele"</string>
+    <string name="user_aspect_ratio_half_screen" msgid="1015852057094310209">"Isikrini esiwuhhafu"</string>
+    <string name="user_aspect_ratio_device_size" msgid="2339820985120881199">"Ukubukeka kwedivayisi"</string>
+    <string name="user_aspect_ratio_16_9" msgid="2286644872775170164">"16:9"</string>
+    <string name="user_aspect_ratio_3_2" msgid="199262962518318932">"3:2"</string>
+    <string name="user_aspect_ratio_4_3" msgid="5196232982878982220">"4:3"</string>
+    <string name="app_aspect_ratio_footer" msgid="8661813386126142251">"I-app izoqala kabusha uma ushintsha ukubukeka kwesilinganiselo. Ungase ulahlekelwe yizinguquko ezingalondoloziwe."</string>
     <string name="accessibility_fingerprint_label" msgid="5017431423168191733">"Inzwa yesigxivizo somunwe"</string>
     <string name="flash_notifications_title" msgid="4490438861180492311">"Izaziso zokukhanya"</string>
     <string name="flash_notifications_about_title" msgid="9004351252928121214">"Mayelana nezaziso ze-flash"</string>
@@ -4754,4 +4767,7 @@
     <string name="show_captions_enabled" msgid="7089043007924626">"Vuliwe"</string>
     <string name="live_caption_disabled" msgid="3562035026547887366">"Valiwe"</string>
     <string name="live_caption_enabled" msgid="5269360946200718949">"Vuliwe"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Igama ledivayisi yakho liyabonakala kuma-app owafakile. Lingase futhi libonwe ngabanye abantu lapho uxhuma kumadivayisi e-Bluetooth, uxhuma kunethiwekhi ye-Wi-Fi noma usetha i-hotspot ye-Wi-Fi."</string>
+    <string name="grammatical_gender_title" msgid="8584242850477270828">"Ubulili bohlelo lolimi"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Khetha ubulili Bohlelo lolimi"</string>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index a7a124a..30892a3 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -169,6 +169,18 @@
     <item name="face_preview_scale" format="float" type="dimen">1.0</item>
     <dimen name="face_enroll_intro_illustration_margin_bottom">0dp</dimen>
 
+    <!-- RemoteAuth-->
+    <dimen name="remoteauth_fragment_padding_horizontal">40dp</dimen>
+    <dimen name="remoteauth_icon_small_size">24dp</dimen>
+    <dimen name="remoteauth_touchable_area_minimum_span">48dp</dimen>
+    <dimen name="remoteauth_introduction_fragment_padding_horizontal">30dp</dimen>
+    <dimen name="remoteauth_introduction_description_start_margin">8dp</dimen>
+    <dimen name="remoteauth_introduction_subheading_text_size">18sp</dimen>
+    <dimen name="remoteauth_carousel_progress_margin">28dp</dimen>
+    <dimen name="remoteauth_carousel_progress_circle_diameter">8dp</dimen>
+    <dimen name="remoteauth_carousel_progress_circle_margin">4dp</dimen>
+
+
     <!-- Lock pattern view size, align sysui biometric_auth_pattern_view_size -->
     <dimen name="biometric_auth_pattern_view_size">348dp</dimen>
     <dimen name="biometric_auth_pattern_view_max_size">@dimen/biometric_auth_pattern_view_size</dimen>
@@ -373,6 +385,10 @@
     <dimen name="chartview_trapezoid_margin_start">1dp</dimen>
     <dimen name="chartview_trapezoid_margin_bottom">2dp</dimen>
 
+    <!-- Battery tips card view component -->
+    <dimen name="battery_tips_card_corner_radius_small">4dp</dimen>
+    <dimen name="battery_tips_card_corner_radius_normal">24dp</dimen>
+
     <!-- Dimensions for Dream settings cards -->
     <dimen name="dream_item_min_column_width">174dp</dimen>
     <dimen name="dream_item_corner_radius">28dp</dimen>
@@ -406,6 +422,9 @@
     <!-- Margin for SD card setup completion Image -->
     <dimen name="setup_completion_margin_top">88dp</dimen>
 
+    <!-- QR code action button -->
+    <dimen name="action_button_icon_size">18dp</dimen>
+
     <!-- Biometrics Face enroll education dimensions-->
     <dimen name="face_enroll_icon_large_width">300dp</dimen>
     <dimen name="face_enroll_icon_large_height">300dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 840cef42..748f871 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -884,6 +884,40 @@
     <!-- Message showing that multiple fingerprints, face, and the current watch is set up. Shown for a menu item that launches fingerprint, face,  and active unlock settings or enrollment. [CHAR LIMIT=80]-->
     <string name="security_settings_fingerprint_multiple_face_watch_preference_summary">Face, fingerprints, and <xliff:g id="watch" example="Dani's Watch">%s</xliff:g> added</string>
 
+    <!-- RemoteAuth unlock enrollment and settings --><skip />
+    <!-- Strings for RemoteAuth enroll introduction page -->
+    <!-- Introduction title shown in remote enrollment to introduce the remote feature [CHAR LIMIT=29] -->
+    <string name="security_settings_remoteauth_enroll_introduction_title">Set up your watch</string>
+    <!-- Summary of the Watch Unlock feature that allows users to unlock the phone with paired watches [CHAR_LIMIT=NONE]-->
+    <string name="security_settings_remoteauth_enroll_introduction_message">Watch Unlock is another convenient way to unlock this phone, for example, when your fingers are wet or face isn\u2019t recognized.\n\nYou can use your watch to unlock this phone when you:</string>
+    <!-- Button text to cancel enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_introduction_disagree">Not now</string>
+    <!-- Button text to start enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_introduction_agree">Continue</string>
+    <!-- Button text to scroll to the end of a scrollview. [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_introduction_more">More</string>
+    <!-- Heading of the paragraph that explains how the Watch Unlock feature works [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_how_title">How it works</string>
+    <!-- Explains that paired watches must be unlocked, on-body, and nearby, in order to unlock the phone [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open">Your watch must be unlocked, on your wrist, and within reach of this phone. You won\u2019t need to unlock your watch again while it\u2019s on your wrist.</string>
+    <!-- Explains that users will be notified on the watch when the phone is unlocked by the watch, and they can tap on the notification to lock the phone from the watch [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications">When this phone is unlocked, you\u2019ll get notified on your watch. If it was unlocked when you didn’t intend to, tap the notification to lock the phone again.</string>
+    <!-- Heading of the paragraph that explains how to opt out of the Watch Unlock feature [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title">You\u2019re in control</string>
+    <!-- Explains that users can prevent their watches from unlocking their phone by removing them in the Watch Unlock settings [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch">You can remove your watch from Watch Unlock at any time in Settings</string>
+    <!-- Subtitle for animation that explains users can unlock by tapping a notification [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification">Tap a notification</string>
+    <!-- Subtitle for animation that explains users can unlock by swiping up on the lock screen [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up">Swipe up on the lock screen</string>
+    <!-- Strings for RemoteAuth enroll finish page -->
+    <!-- Title of the dialog that shows when a paired watch has been set up successfully and can be used to unlock the phone [CHAR_LIMIT=45] -->
+    <string name="security_settings_remoteauth_enroll_finish_title">You\u2019re all set!</string>
+    <!-- Explains when a paired watch can be used to unlock the phone after it has been set up successfully [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_finish_description">You can now use your watch to unlock this phone when you swipe up on the lock screen or tap a notification</string>
+    <!-- Button text to finish enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_finish_btn_next">Done</string>
+
     <!-- Biometric settings --><skip />
     <!-- Title shown for menu item that launches biometric settings. [CHAR LIMIT=66] -->
     <string name="security_settings_biometric_preference_title">Fingerprint &amp; Face Unlock</string>
@@ -1504,6 +1538,12 @@
     <!-- Checkbox message in pairing dialogs.  [CHAR LIMIT=NONE] -->
     <string name="bluetooth_pairing_shares_phonebook">Allow access to your contacts and call history</string>
 
+    <!-- Phonebook sharing toggle message in pairing dialogs.  [CHAR LIMIT=NONE] -->
+    <string name="bluetooth_pairing_phonebook_toggle_text">Also allow access to contacts and call history</string>
+
+    <!-- Phonebook sharing toggle detailed message in pairing dialogs.  [CHAR LIMIT=NONE] -->
+    <string name="bluetooth_pairing_phonebook_toggle_details">Info will be used for call announcements and more</string>
+
     <!-- Title for BT error dialogs. -->
     <string name="bluetooth_error_title"></string>
 
@@ -1873,7 +1913,7 @@
     <!-- Title for the fragment to show that the QR code is for sharing Wi-Fi hotspot network [CHAR LIMIT=50] -->
     <string name="wifi_dpp_share_hotspot">Share hotspot</string>
     <!-- Title for Wi-Fi DPP lockscreen title [CHAR LIMIT=50] -->
-    <string name="wifi_dpp_lockscreen_title">Verify that it\u0027s you</string>
+    <string name="wifi_dpp_lockscreen_title">Verify it\u0027s you</string>
     <!-- Hint for Wi-Fi password [CHAR LIMIT=50]  -->
     <string name="wifi_dpp_wifi_password">Wi\u2011Fi password: <xliff:g id="password" example="my password">%1$s</xliff:g></string>
     <!-- Hint for Wi-Fi hotspot password [CHAR LIMIT=50]  -->
@@ -1953,8 +1993,6 @@
     <string name="wifi_forget">Forget</string>
     <!-- Button label to modify a Wi-Fi network -->
     <string name="wifi_modify">Modify</string>
-    <!-- Failured notification for forget -->
-    <string name="wifi_failed_forget_message">Failed to forget network</string>
     <!-- Button label to save a Wi-Fi network configuration -->
     <string name="wifi_save">Save</string>
     <!-- Failured notification for save -->
@@ -3444,16 +3482,16 @@
 
     <!-- Message to be used to explain the users that they need to enter their pattern to continue a
          particular operation. [CHAR LIMIT=70]-->
-    <string name="lockpassword_confirm_your_pattern_generic">Use your device pattern to continue</string>
+    <string name="lockpassword_confirm_your_pattern_generic">Draw your pattern to continue</string>
     <!-- Message to be used to explain the users that they need to enter their PIN to continue a
          particular operation. [CHAR LIMIT=70]-->
-    <string name="lockpassword_confirm_your_pin_generic">Enter your device PIN to continue</string>
+    <string name="lockpassword_confirm_your_pin_generic">Enter your PIN to continue</string>
     <!-- Message to be used to explain the users that they need to enter their password to continue a
          particular operation. [CHAR LIMIT=70]-->
-    <string name="lockpassword_confirm_your_password_generic">Enter your device password to continue</string>
+    <string name="lockpassword_confirm_your_password_generic">Enter your password to continue</string>
     <!-- Message to be used to explain the users that they need to enter their work pattern to continue a
          particular operation. [CHAR LIMIT=70]-->
-    <string name="lockpassword_confirm_your_pattern_generic_profile">Use your work pattern to continue</string>
+    <string name="lockpassword_confirm_your_pattern_generic_profile">Draw your work pattern to continue</string>
     <!-- Message to be used to explain the users that they need to enter their work PIN to continue a
          particular operation. [CHAR LIMIT=70]-->
     <string name="lockpassword_confirm_your_pin_generic_profile">Enter your work PIN to continue</string>
@@ -4804,7 +4842,7 @@
     <!-- List of synonyms used in the settings search bar to find the "Audio Description. [CHAR LIMIT=NONE] -->
     <string name="keywords_audio_description">audio description, audio, description, low vision,</string>
 
-    <!-- Preference's shortcut when enabled. [CHAR LIMIT=NONE] -->
+    <!-- Shows when the shortcut of an accessibility feature is turned on. The accessibility feature could refer to any accessibility feature installed on the device. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_shortcut_enabled">Shortcut on</string>
     <!-- Preference's shortcut when disabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_shortcut_disabled">Off</string>
@@ -5024,7 +5062,7 @@
     <!-- List of synonyms used in the settings search bar to find the “Extra Dim” setting, which dims your screen. Title name is located at strings/reduce_bright_colors_preference_title. [CHAR LIMIT=NONE] -->
     <string name="keywords_reduce_bright_colors">light sensitivity, photophobia, dark theme, migraine, headache, reading mode, night mode, reduce brightness, white point</string>
     <!-- List of synonyms used in the settings search bar to find the “Accessibility”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_accessibility">Ease of use, ease of access, assistance, assistive</string>
+    <string name="keywords_accessibility">vision, hearing, blind, deaf, motor, dexterity, assistive, assistance, ease of use, ease of access, hand, help</string>
     <!-- List of synonyms used in the settings search bar to find the “Magnification”. [CHAR LIMIT=NONE] -->
     <string name="keywords_magnification">Window Magnifier, Zoom, Magnification, Low vision, Enlarge, make bigger</string>
     <!-- List of synonyms used in the settings search bar to find the “TalkBack”. [CHAR LIMIT=NONE] -->
@@ -5054,13 +5092,19 @@
     <!-- List of synonyms used in the settings search bar to find the “Switch Access”. [CHAR LIMIT=NONE] -->
     <string name="keywords_switch_access"></string>
     <!-- List of synonyms used in the settings search bar to find the “Autoclick(dwell timing)”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_auto_click">motor, mouse</string>
+    <string name="keywords_auto_click">motor, mouse, external mouse, head mouse, adaptive mouse, wheelchair, joystick</string>
     <!-- List of synonyms used in the settings search bar to find the “Hearing aids”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_hearing_aids">hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors</string>
+    <string name="keywords_hearing_aids">hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors, PSAP</string>
     <!-- List of synonyms used in the settings search bar to find the “Real-time text (RTT)”. [CHAR LIMIT=NONE] -->
     <string name="keywords_rtt">hard of hearing, hearing loss, captions, Teletype, tty</string>
     <!-- List of synonyms used in the settings search bar to find the “Voice Access”. [CHAR LIMIT=NONE] -->
     <string name="keywords_voice_access"></string>
+    <!-- List of synonyms used in the settings search bar to find the “3-button navigation”. [CHAR LIMIT=NONE] -->
+    <string name="keywords_3_button_navigation">three buttons</string>
+    <!-- List of synonyms used in the settings search bar to find the “Touch & hold delay”. [CHAR LIMIT=NONE] -->
+    <string name="keywords_touch_and_hold_delay">dexterity, motor, senior, arthritis, rsi, stroke, tremor, multiple sclerosis, cerebral palsy, shaking, repetitive strain injury, hand</string>
+    <!-- List of synonyms used in the settings search bar to find the “Time to take action (Accessibility timeout)”. [CHAR LIMIT=NONE] -->
+    <string name="keywords_accessibility_timeout">delay, dexterity, senior</string>
 
     <skip />
 
@@ -9547,9 +9591,6 @@
     <!-- Format for a summary describing the amount of data before the user is warned or limited [CHAR LIMIT=NONE] -->
     <string name="cell_data_warning_and_limit"><xliff:g name="amount" example="1 GB">^1</xliff:g> data warning / <xliff:g name="amount" example="2 GB">^2</xliff:g> data limit</string>
 
-    <!-- A summary shown on data usage screens to indicate inaccuracy of data tracking [CHAR LIMIT=NONE] -->
-    <string name="operator_warning">Carrier data accounting may differ from device accounting</string>
-
     <!-- A summary shown on data usage screens to indicate data tracking excluded from carrier networks [CHAR LIMIT=NONE] -->
     <string name="non_carrier_data_usage_warning">Excludes data used by carrier networks</string>
 
@@ -9686,6 +9727,24 @@
     <!-- Preference summary for battery usage list page[CHAR_LIMIT=50]-->
     <string name="app_battery_usage_summary">Set battery usage for apps</string>
 
+    <!-- Label of action button in battery tips card [CHAR LIMIT=NONE] -->
+    <string name="battery_tips_card_action_button" translatable="false">Optimize</string>
+
+    <!-- Feedback card message in battery tips card [CHAR LIMIT=NONE] -->
+    <string name="battery_tips_card_feedback_info" translatable="false">Is this message helpful?</string>
+
+    <!-- Title of battery tips: adaptive brightness [CHAR LIMIT=NONE] -->
+    <string name="battery_tips_adaptive_brightness_title" translatable="false">Turn on adaptive brightness to extend battery life</string>
+
+    <!-- Summary of battery tips: adaptive brightness [CHAR LIMIT=NONE] -->
+    <string name="battery_tips_adaptive_brightness_summary" translatable="false">It will help reduce your daily battery drain by 10%</string>
+
+    <!-- Title of battery tips: reduce screen timeout [CHAR LIMIT=NONE] -->
+    <string name="battery_tips_screen_timeout_title" translatable="false">Reduce screen timeout to extend battery life</string>
+
+    <!-- Summary of battery tips: reduce screen timeout [CHAR LIMIT=NONE] -->
+    <string name="battery_tips_screen_timeout_summary" translatable="false">It will help reduce your daily battery drain by 10%</string>
+
     <!-- Filter title for battery unrestricted[CHAR_LIMIT=50]-->
     <string name="filter_battery_unrestricted_title">Unrestricted</string>
 
@@ -12213,15 +12272,18 @@
     <!-- Warning message when we try to dock an app not supporting multiple instances split into multiple sides [CHAR LIMIT=NONE] -->
     <string name="dock_multi_instances_not_supported_text">"This app can only be opened in 1 window"</string>
 
-    <!-- The accessibility features state summary, indicating whether the service is turned on, whether the shortcut is turned on. The last part of the summary is the short summary of the feature. -->
-    <string name="accessibility_feature_full_state_summary"><xliff:g example="Service on" id="state">%1$s</xliff:g> / <xliff:g example="Shortcut on" id="shortcut_state">%2$s</xliff:g> / <xliff:g example="Speak items on screen" id="service_summary">%3$s</xliff:g></string>
-    <!-- Label representing that a generic Accessibility Service is turned on. -->
-    <string name="generic_accessibility_service_on">Service on</string>
-    <!-- Label representing that a generic Accessibility Service is turned off. -->
-    <string name="generic_accessibility_service_off">Service off</string>
-    <!-- Label representing that an accessibility feature's shortcut is turned off -->
-    <string name="generic_accessibility_feature_shortcut_off">Shortcut off</string>
-    <!-- Summary for the disabled state of the accessibility shortcut. This is shown as a summary for "[Service] shortcut", where "off" refers to the state of "shortcut". -->
+    <!-- Shown when an accessibility feature is turned on. Note: for gendered languages, suggest to translate as "Feature on" because the accessibility feature it refers to can be in any gender. [CHAR LIMIT=NONE] -->
+    <string name="generic_accessibility_service_on">On</string>
+    <!-- Shown when an accessibility feature is turned off. Note: for gendered languages, suggest to translate as "Feature off" because the accessibility feature it refers to can be in any gender. [CHAR LIMIT=NONE] -->
+    <string name="generic_accessibility_service_off">Off</string>
+    <!-- Shows when the shortcut of an accessibility feature is turned off. The "off" refers to the state of "shortcut". Note: for gendered languages, suggest to translate as "Shortcut off". [CHAR LIMIT=NONE] -->
+    <string name="generic_accessibility_feature_shortcut_off">Off</string>
+    <!--
+        Summary for the disabled state of the accessibility shortcut.
+        This is shown as a summary for "[Service] shortcut" from the string resource accessibility_shortcut_title,
+        where "off" refers to the state of "shortcut" and
+        should match the same gender as the noun used in the string accessibility_shortcut_title.
+    -->
     <string name="accessibility_shortcut_state_off">Off</string>
 
     <!-- Representing daltonizer (color filter) feature is turned on -->
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 6d43063..f90d8b6 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -19,7 +19,8 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="accessibility_settings_screen"
     android:persistent="false"
-    android:title="@string/accessibility_settings">
+    android:title="@string/accessibility_settings"
+    settings:keywords="@string/keywords_accessibility">
 
     <PreferenceCategory
         android:key="user_installed_services_category"
diff --git a/res/xml/accessibility_system_controls.xml b/res/xml/accessibility_system_controls.xml
index 3821f93..37c4d67 100644
--- a/res/xml/accessibility_system_controls.xml
+++ b/res/xml/accessibility_system_controls.xml
@@ -34,7 +34,7 @@
         android:persistent="false"
         android:title="@string/one_handed_title"
         settings:searchable="false"
-        settings:controller="com.android.settings.accessibility.OneHandedPreferenceController"/>
+        settings:controller="com.android.settings.gestures.OneHandedEnablePreferenceController"/>
 
     <SwitchPreference
         android:key="toggle_power_button_ends_call_preference"
diff --git a/res/xml/accessibility_tap_assistance.xml b/res/xml/accessibility_tap_assistance.xml
index 22667b4..d2ec653 100644
--- a/res/xml/accessibility_tap_assistance.xml
+++ b/res/xml/accessibility_tap_assistance.xml
@@ -27,14 +27,16 @@
         android:summary="%s"
         android:persistent="false"
         android:title="@string/accessibility_long_press_timeout_preference_title"
-        settings:controller="com.android.settings.accessibility.SelectLongPressTimeoutPreferenceController"/>
+        settings:controller="com.android.settings.accessibility.SelectLongPressTimeoutPreferenceController"
+        settings:keywords="@string/keywords_touch_and_hold_delay"/>
 
     <Preference
         android:fragment="com.android.settings.accessibility.AccessibilityControlTimeoutPreferenceFragment"
         android:key="accessibility_control_timeout_preference_fragment"
         android:persistent="false"
         android:title="@string/accessibility_setting_item_control_timeout_title"
-        settings:controller="com.android.settings.accessibility.AccessibilityTimeoutPreferenceController"/>
+        settings:controller="com.android.settings.accessibility.AccessibilityTimeoutPreferenceController"
+        settings:keywords="@string/keywords_accessibility_timeout"/>
 
     <Preference
         android:fragment="com.android.settings.accessibility.ToggleAutoclickPreferenceFragment"
diff --git a/res/xml/apps.xml b/res/xml/apps.xml
index 73bcbc9..651ed9b 100644
--- a/res/xml/apps.xml
+++ b/res/xml/apps.xml
@@ -88,6 +88,7 @@
         android:fragment="com.android.settings.applications.manageapplications.ManageApplications">
         <extra android:name="classname"
                android:value="com.android.settings.Settings$UserAspectRatioAppListActivity"/>
+        <intent android:action="android.settings.MANAGE_USER_ASPECT_RATIO_SETTINGS"/>
     </Preference>
 
     <Preference
diff --git a/res/xml/data_usage_list.xml b/res/xml/data_usage_list.xml
index 644fca4..28f09c6 100644
--- a/res/xml/data_usage_list.xml
+++ b/res/xml/data_usage_list.xml
@@ -24,11 +24,6 @@
             android:key="chart_data" />
 
         <Preference
-            android:key="operator_warning"
-            android:summary="@string/operator_warning"
-            android:selectable="false" />
-
-        <Preference
             android:key="non_carrier_data_usage_warning"
             android:summary="@string/non_carrier_data_usage_warning"
             android:selectable="false" />
diff --git a/res/xml/power_usage_advanced.xml b/res/xml/power_usage_advanced.xml
index 2a1a23c..c129453 100644
--- a/res/xml/power_usage_advanced.xml
+++ b/res/xml/power_usage_advanced.xml
@@ -21,6 +21,18 @@
     android:title="@string/advanced_battery_title"
     settings:keywords="@string/keywords_battery_usage">
 
+    <PreferenceCategory
+        android:key="battery_tips_category"
+        settings:controller=
+            "com.android.settings.fuelgauge.batteryusage.BatteryTipsController"
+        settings:isPreferenceVisible="false">
+
+        <com.android.settings.fuelgauge.batteryusage.BatteryTipsCardPreference
+            android:key="battery_tips_card"
+            settings:isPreferenceVisible="false" />
+
+    </PreferenceCategory>
+
     <com.android.settings.fuelgauge.batteryusage.BatteryHistoryPreference
         android:key="battery_chart"
         settings:controller=
diff --git a/src/com/android/settings/AirplaneModeEnabler.java b/src/com/android/settings/AirplaneModeEnabler.java
index 735ae23..f3fd3a0 100644
--- a/src/com/android/settings/AirplaneModeEnabler.java
+++ b/src/com/android/settings/AirplaneModeEnabler.java
@@ -67,7 +67,7 @@
         super(context, Settings.Global.AIRPLANE_MODE_ON);
 
         mContext = context;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mOnAirplaneModeChangedListener = listener;
 
         mTelephonyManager = context.getSystemService(TelephonyManager.class);
diff --git a/src/com/android/settings/AllInOneTetherSettings.java b/src/com/android/settings/AllInOneTetherSettings.java
index f98fdc1..b3644f8 100644
--- a/src/com/android/settings/AllInOneTetherSettings.java
+++ b/src/com/android/settings/AllInOneTetherSettings.java
@@ -244,7 +244,8 @@
 
         if (mUnavailable) {
             if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.tethering_settings_not_available);
+                getEmptyTextView().setText(
+                        com.android.settingslib.R.string.tethering_settings_not_available);
             }
             getPreferenceScreen().removeAll();
             return;
diff --git a/src/com/android/settings/BugreportPreference.java b/src/com/android/settings/BugreportPreference.java
index 598399a..3c3e608 100644
--- a/src/com/android/settings/BugreportPreference.java
+++ b/src/com/android/settings/BugreportPreference.java
@@ -87,7 +87,7 @@
             final Context context = getContext();
             if (mFullTitle.isChecked()) {
                 Log.v(TAG, "Taking full bugreport right away");
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context,
                         SettingsEnums.ACTION_BUGREPORT_FROM_SETTINGS_FULL);
                 try {
                     ActivityManager.getService().requestFullBugReport();
@@ -96,7 +96,7 @@
                 }
             } else {
                 Log.v(TAG, "Taking interactive bugreport right away");
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context,
                         SettingsEnums.ACTION_BUGREPORT_FROM_SETTINGS_INTERACTIVE);
                 try {
                     ActivityManager.getService().requestInteractiveBugReport();
diff --git a/src/com/android/settings/MainClear.java b/src/com/android/settings/MainClear.java
index f706c78..b559b47 100644
--- a/src/com/android/settings/MainClear.java
+++ b/src/com/android/settings/MainClear.java
@@ -437,7 +437,7 @@
                         .setText(R.string.main_clear_button_text)
                         .setListener(mInitiateListener)
                         .setButtonType(ButtonType.OTHER)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
         mInitiateButton = mixin.getPrimaryButton();
@@ -501,10 +501,12 @@
 
                 if (userInfo.isManagedProfile()) {
                     titleText.setText(devicePolicyManager.getResources().getString(
-                            WORK_CATEGORY_HEADER, () -> getString(R.string.category_work)));
+                            WORK_CATEGORY_HEADER, () -> getString(
+                                    com.android.settingslib.R.string.category_work)));
                 } else {
                     titleText.setText(devicePolicyManager.getResources().getString(
-                            PERSONAL_CATEGORY_HEADER, () -> getString(R.string.category_personal)));
+                            PERSONAL_CATEGORY_HEADER, () -> getString(
+                                    com.android.settingslib.R.string.category_personal)));
                 }
                 contents.addView(titleView);
             }
diff --git a/src/com/android/settings/MainClearConfirm.java b/src/com/android/settings/MainClearConfirm.java
index defe403..b5ddd1a 100644
--- a/src/com/android/settings/MainClearConfirm.java
+++ b/src/com/android/settings/MainClearConfirm.java
@@ -212,7 +212,7 @@
                         .setText(R.string.main_clear_button_text)
                         .setListener(mFinalClickListener)
                         .setButtonType(ButtonType.OTHER)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
     }
diff --git a/src/com/android/settings/RestrictedCheckBox.java b/src/com/android/settings/RestrictedCheckBox.java
index 828c443..64bb0a6 100644
--- a/src/com/android/settings/RestrictedCheckBox.java
+++ b/src/com/android/settings/RestrictedCheckBox.java
@@ -61,7 +61,8 @@
             RestrictedLockUtilsInternal.setTextViewAsDisabledByAdmin(mContext, this,
                     mDisabledByAdmin);
             if (mDisabledByAdmin) {
-                getButtonDrawable().setColorFilter(mContext.getColor(R.color.disabled_text_color),
+                getButtonDrawable().setColorFilter(
+                        mContext.getColor(com.android.settingslib.R.color.disabled_text_color),
                         PorterDuff.Mode.MULTIPLY);
             } else {
                 getButtonDrawable().clearColorFilter();
diff --git a/src/com/android/settings/SetFullBackupPassword.java b/src/com/android/settings/SetFullBackupPassword.java
index 833ba99..7252289 100644
--- a/src/com/android/settings/SetFullBackupPassword.java
+++ b/src/com/android/settings/SetFullBackupPassword.java
@@ -49,7 +49,8 @@
                     // Mismatch between new pw and its confirmation re-entry
                     Log.i(TAG, "password mismatch");
                     Toast.makeText(SetFullBackupPassword.this,
-                            R.string.local_backup_password_toast_confirmation_mismatch,
+                            com.android.settingslib.R
+                                    .string.local_backup_password_toast_confirmation_mismatch,
                             Toast.LENGTH_LONG).show();
                     return;
                 }
@@ -60,14 +61,15 @@
                     // success
                     Log.i(TAG, "password set successfully");
                     Toast.makeText(SetFullBackupPassword.this,
-                            R.string.local_backup_password_toast_success,
+                            com.android.settingslib.R.string.local_backup_password_toast_success,
                             Toast.LENGTH_LONG).show();
                     finish();
                 } else {
                     // failure -- bad existing pw, usually
                     Log.i(TAG, "failure; password mismatch?");
                     Toast.makeText(SetFullBackupPassword.this,
-                            R.string.local_backup_password_toast_validation_failure,
+                            com.android.settingslib.R
+                                    .string.local_backup_password_toast_validation_failure,
                             Toast.LENGTH_LONG).show();
                 }
             } else if (v == mCancel) {
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 57d91f0..7cd4493 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -202,7 +202,7 @@
         private String getAlternativeFragmentName() {
             String alternativeFragmentClassname = null;
             final SecuritySettingsFeatureProvider securitySettingsFeatureProvider =
-                    FeatureFactory.getFactory(this).getSecuritySettingsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getSecuritySettingsFeatureProvider();
             if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) {
                 alternativeFragmentClassname = securitySettingsFeatureProvider
                         .getAlternativeSecuritySettingsFragmentClassname();
@@ -418,8 +418,7 @@
         @Override
         public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
-            if (FeatureFactory.getFactory(this)
-                    .getEnterprisePrivacyFeatureProvider(this)
+            if (FeatureFactory.getFeatureFactory().getEnterprisePrivacyFeatureProvider()
                     .showParentalControls()) {
                 finish();
             } else if (!EnterprisePrivacySettings.isPageEnabled(this)) {
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 8c97f02..278ede4 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -737,7 +737,7 @@
                 overrideKey, () -> getString(resource)));
     }
 
-    protected void replaceEnterpriseStringSummary(
+    public void replaceEnterpriseStringSummary(
             String preferenceKey, String overrideKey, int resource) {
         Preference preference = findPreference(preferenceKey);
         if (preference == null) {
@@ -750,7 +750,7 @@
                         () -> getString(resource)));
     }
 
-    protected void replaceEnterpriseStringTitle(
+    public void replaceEnterpriseStringTitle(
             String preferenceKey, String overrideKey, int resource) {
         Preference preference = findPreference(preferenceKey);
         if (preference == null) {
diff --git a/src/com/android/settings/TrustedCredentialsFragment.java b/src/com/android/settings/TrustedCredentialsFragment.java
index c90a44d..ca95c1a 100644
--- a/src/com/android/settings/TrustedCredentialsFragment.java
+++ b/src/com/android/settings/TrustedCredentialsFragment.java
@@ -333,11 +333,11 @@
             TextView title = convertView.findViewById(android.R.id.title);
             if (getUserInfoByGroup(groupPosition).isManagedProfile()) {
                 title.setText(mDevicePolicyManager.getResources().getString(WORK_CATEGORY_HEADER,
-                        () -> getString(R.string.category_work)));
+                        () -> getString(com.android.settingslib.R.string.category_work)));
             } else {
                 title.setText(mDevicePolicyManager.getResources().getString(
                         PERSONAL_CATEGORY_HEADER,
-                        () -> getString(R.string.category_personal)));
+                        () -> getString(com.android.settingslib.R.string.category_personal)));
 
             }
             title.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_END);
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 370b17a..dda5b24 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -16,6 +16,9 @@
 
 package com.android.settings;
 
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PASSWORD;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PATTERN;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PIN;
 import static android.content.Intent.EXTRA_USER;
 import static android.content.Intent.EXTRA_USER_ID;
 import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
@@ -782,6 +785,47 @@
         return lpu.getCredentialTypeForUser(userId);
     }
 
+    /**
+     * Returns the confirmation credential string of the given user id.
+     */
+    @Nullable public static String getConfirmCredentialStringForUser(@NonNull Context context,
+             int userId, @LockPatternUtils.CredentialType int credentialType) {
+        final int effectiveUserId = UserManager.get(context).getCredentialOwnerProfile(userId);
+        final boolean isEffectiveUserManagedProfile = UserManager.get(context)
+                .isManagedProfile(effectiveUserId);
+        final DevicePolicyManager devicePolicyManager = context
+                .getSystemService(DevicePolicyManager.class);
+        switch (credentialType) {
+            case LockPatternUtils.CREDENTIAL_TYPE_PIN:
+                if (isEffectiveUserManagedProfile) {
+                    return devicePolicyManager.getResources().getString(WORK_PROFILE_CONFIRM_PIN,
+                            () -> context.getString(
+                                    R.string.lockpassword_confirm_your_pin_generic_profile));
+                }
+
+                return context.getString(R.string.lockpassword_confirm_your_pin_generic);
+            case LockPatternUtils.CREDENTIAL_TYPE_PATTERN:
+                if (isEffectiveUserManagedProfile) {
+                    return devicePolicyManager.getResources().getString(
+                            WORK_PROFILE_CONFIRM_PATTERN,
+                            () -> context.getString(
+                                    R.string.lockpassword_confirm_your_pattern_generic_profile));
+                }
+
+                return context.getString(R.string.lockpassword_confirm_your_pattern_generic);
+            case LockPatternUtils.CREDENTIAL_TYPE_PASSWORD:
+                if (isEffectiveUserManagedProfile) {
+                    return devicePolicyManager.getResources().getString(
+                            WORK_PROFILE_CONFIRM_PASSWORD,
+                            () -> context.getString(
+                                    R.string.lockpassword_confirm_your_password_generic_profile));
+                }
+
+                return context.getString(R.string.lockpassword_confirm_your_password_generic);
+        }
+        return null;
+    }
+
     private static final StringBuilder sBuilder = new StringBuilder(50);
     private static final java.util.Formatter sFormatter = new java.util.Formatter(
             sBuilder, Locale.getDefault());
diff --git a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
index c108d6e..3e3674c 100644
--- a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
@@ -237,7 +237,7 @@
                     new ComponentName(packageName, tileServiceClassName).flattenToString());
         }
 
-        final int metricsCategory = FeatureFactory.getFactory(getActivity().getApplicationContext())
+        final int metricsCategory = FeatureFactory.getFeatureFactory()
                 .getAccessibilityMetricsFeatureProvider()
                 .getDownloadedFeatureMetricsCategory(componentName);
         extras.putInt(AccessibilitySettings.EXTRA_METRICS_CATEGORY, metricsCategory);
diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
index 528801f..ee2dc05 100644
--- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
@@ -170,13 +170,6 @@
     static AlertDialog createAccessibilityTutorialDialogForSetupWizard(Context context,
             int shortcutTypes, @Nullable DialogInterface.OnClickListener actionButtonListener) {
 
-        final int category = SettingsEnums.SWITCH_SHORTCUT_DIALOG_ACCESSIBILITY_BUTTON_SETTINGS;
-        final DialogInterface.OnClickListener linkButtonListener =
-                (dialog, which) -> new SubSettingLauncher(context)
-                        .setDestination(AccessibilityButtonFragment.class.getName())
-                        .setSourceMetricsCategory(category)
-                        .launch();
-
         final AlertDialog alertDialog = new AlertDialog.Builder(context)
                 .setPositiveButton(R.string.accessibility_tutorial_dialog_button,
                         actionButtonListener)
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index ecafcd8..16414f8 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -251,69 +251,29 @@
             return context.getText(R.string.accessibility_summary_state_stopped);
         }
 
+        final CharSequence serviceState;
         final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
-        final ComponentName componentName = new ComponentName(
-                info.getResolveInfo().serviceInfo.packageName,
-                info.getResolveInfo().serviceInfo.name);
-        final boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
-                context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
-
-        // Example shortcutState: "Shortcut on"
-        CharSequence shortcutState = shortcutEnabled
-                ? context.getText(R.string.accessibility_summary_shortcut_enabled)
-                : context.getText(R.string.generic_accessibility_feature_shortcut_off);
-
-        // Example serviceSummary: "Control device via large menu"
-        final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
-
         if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE_TOGGLE) {
-            // Example result: "Shortcut on / Control device via large menu"
-            return TextUtils.isEmpty(serviceSummary)
-                    ? shortcutState
-                    : context.getString(
-                            R.string.preference_summary_default_combination, shortcutState,
-                            serviceSummary);
+            final ComponentName componentName = new ComponentName(
+                    info.getResolveInfo().serviceInfo.packageName,
+                    info.getResolveInfo().serviceInfo.name);
+            final boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
+                    context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
+            serviceState = shortcutEnabled
+                    ? context.getText(R.string.accessibility_summary_shortcut_enabled)
+                    : context.getText(R.string.generic_accessibility_feature_shortcut_off);
         } else {
-            // Example serviceState: "Service on"
-            CharSequence serviceState = serviceEnabled
+            serviceState = serviceEnabled
                     ? context.getText(R.string.generic_accessibility_service_on)
                     : context.getText(R.string.generic_accessibility_service_off);
-
-            // Example result: "Service on / Shortcut on / Speak items on screen"
-            return TextUtils.isEmpty(serviceSummary)
-                    ? context.getString(
-                            R.string.preference_summary_default_combination,
-                            serviceState, shortcutState)
-                    : context.getString(
-                            R.string.accessibility_feature_full_state_summary, serviceState,
-                            shortcutState, serviceSummary);
         }
-    }
 
-    /**
-     * Returns the summary for the current shortcut state of the accessibility app
-     * captured in the {@link AccessibilityShortcutInfo}
-     */
-    public static CharSequence getA11yShortcutInfoPreferenceSummary(
-            Context context, AccessibilityShortcutInfo info) {
-
-        boolean shortcutEnabled = AccessibilityUtil.getUserShortcutTypesFromSettings(
-                context, info.getComponentName()) != AccessibilityUtil.UserShortcutType.EMPTY;
-
-        // Example shortcutState: "Shortcut on"
-        CharSequence shortcutState = shortcutEnabled
-                ? context.getText(R.string.accessibility_summary_shortcut_enabled)
-                : context.getText(R.string.generic_accessibility_feature_shortcut_off);
-
-        // Example serviceSummary: "Convert speech to text"
-        CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
-
-        // Example result: "Shortcut on / Convert speech to text"
-        return TextUtils.isEmpty(serviceSummary)
-                ? shortcutState
-                : context.getString(
+        final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
+        final String stateSummaryCombo = context.getString(
                 R.string.preference_summary_default_combination,
-                shortcutState, serviceSummary);
+                serviceState, serviceSummary);
+
+        return TextUtils.isEmpty(serviceSummary) ? serviceState : stateSummaryCombo;
     }
 
     /**
@@ -554,7 +514,7 @@
                 @Override
                 public List<SearchIndexableRaw> getRawDataToIndex(Context context,
                         boolean enabled) {
-                    return FeatureFactory.getFactory(context)
+                    return FeatureFactory.getFeatureFactory()
                             .getAccessibilitySearchFeatureProvider().getSearchIndexableRawData(
                                     context);
                 }
diff --git a/src/com/android/settings/accessibility/AccessibilitySetupWizardUtils.java b/src/com/android/settings/accessibility/AccessibilitySetupWizardUtils.java
index b7a3439..6f1ed8f 100644
--- a/src/com/android/settings/accessibility/AccessibilitySetupWizardUtils.java
+++ b/src/com/android/settings/accessibility/AccessibilitySetupWizardUtils.java
@@ -21,12 +21,11 @@
 
 import androidx.annotation.StringRes;
 
-import com.android.settings.R;
-
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupcompat.template.FooterButton;
 import com.google.android.setupcompat.template.Mixin;
 import com.google.android.setupdesign.GlifPreferenceLayout;
+import com.google.android.setupdesign.R;
 import com.google.android.setupdesign.util.ThemeHelper;
 
 /** Provides utility methods to accessibility settings for Setup Wizard only. */
diff --git a/src/com/android/settings/accessibility/AccessibilityUtil.java b/src/com/android/settings/accessibility/AccessibilityUtil.java
index 16b74ea3..36c99f1 100644
--- a/src/com/android/settings/accessibility/AccessibilityUtil.java
+++ b/src/com/android/settings/accessibility/AccessibilityUtil.java
@@ -40,8 +40,6 @@
 import androidx.annotation.StringRes;
 import androidx.annotation.VisibleForTesting;
 
-import com.android.settings.R;
-
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.StringJoiner;
@@ -291,41 +289,6 @@
     }
 
     /**
-     * Returns the full status with a feature summary.
-     * For example, "$(feature on) / Shortcut on / Speak items on screen".
-     *
-     * @param context           The current context.
-     * @param componentName     The component name in Settings to query
-     *                          if the shortcut turned on.
-     * @param settingsSecureKey One of the key defined in
-     *                          {@link Settings.Secure}.
-     * @param featureOnTextId   The string resource id representing the feature is turned on.
-     * @param featureOffTextId  The string resource id representing the feature is turned off.
-     * @param featureSummaryId  The string resource id of the feature summary.
-     */
-    static CharSequence getFeatureFullStateSummary(
-            Context context, @NonNull ComponentName componentName,
-            String settingsSecureKey,
-            @StringRes int featureOnTextId, @StringRes int featureOffTextId,
-            @StringRes int featureSummaryId) {
-        boolean shortcutEnabled = getUserShortcutTypesFromSettings(context, componentName)
-                != AccessibilityUtil.UserShortcutType.EMPTY;
-        boolean featureEnabled = Settings.Secure.getInt(context.getContentResolver(),
-                settingsSecureKey, AccessibilityUtil.State.OFF) == AccessibilityUtil.State.ON;
-
-        return context.getString(
-                R.string.accessibility_feature_full_state_summary,
-                featureEnabled
-                        ? context.getString(featureOnTextId)
-                        : context.getString(featureOffTextId),
-                shortcutEnabled
-                        ? context.getString(R.string.accessibility_summary_shortcut_enabled)
-                        : context.getString(R.string.generic_accessibility_feature_shortcut_off),
-                context.getString(featureSummaryId)
-        );
-    }
-
-    /**
      * Returns if component name existed in one of {@code shortcutTypes} string in Settings.
      *
      * @param context The current context.
diff --git a/src/com/android/settings/accessibility/BalanceSeekBarPreference.java b/src/com/android/settings/accessibility/BalanceSeekBarPreference.java
index b03c8ab..0254cae 100644
--- a/src/com/android/settings/accessibility/BalanceSeekBarPreference.java
+++ b/src/com/android/settings/accessibility/BalanceSeekBarPreference.java
@@ -17,16 +17,12 @@
 package com.android.settings.accessibility;
 
 import android.content.Context;
-import android.media.AudioSystem;
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.util.AttributeSet;
-import android.view.View;
 import android.widget.ImageView;
-import android.widget.SeekBar;
 
 import androidx.core.content.res.TypedArrayUtils;
-import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
@@ -43,7 +39,7 @@
 
     public BalanceSeekBarPreference(Context context, AttributeSet attrs) {
         super(context, attrs, TypedArrayUtils.getAttr(context,
-                R.attr.preferenceStyle,
+                com.android.settingslib.R.attr.preferenceStyle,
                 android.R.attr.preferenceStyle));
         mContext = context;
         setLayoutResource(R.layout.preference_balance_slider);
diff --git a/src/com/android/settings/accessibility/CameraFlashNotificationPreferenceController.java b/src/com/android/settings/accessibility/CameraFlashNotificationPreferenceController.java
index 8b9b888..7c96b0f 100644
--- a/src/com/android/settings/accessibility/CameraFlashNotificationPreferenceController.java
+++ b/src/com/android/settings/accessibility/CameraFlashNotificationPreferenceController.java
@@ -49,7 +49,7 @@
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().changed(
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed(
                 getMetricsCategory(), getPreferenceKey(), isChecked ? 1 : 0);
         return Settings.System.putInt(mContext.getContentResolver(),
                 Settings.System.CAMERA_FLASH_NOTIFICATION, (isChecked ? ON : OFF));
diff --git a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
index 83a7edd..5b20714 100644
--- a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
+++ b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.accessibility;
 
-import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME;
-
 import android.content.Context;
 import android.provider.Settings;
 
@@ -36,11 +34,10 @@
 
     @Override
     public CharSequence getSummary() {
-        return AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, COLOR_INVERSION_COMPONENT_NAME,
+        return AccessibilityUtil.getSummary(
+                mContext,
                 DISPLAY_INVERSION_ENABLED,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary);
+                R.string.color_inversion_state_on, R.string.color_inversion_state_off);
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/DaltonizerPreferenceController.java b/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
index 14206d5..f89cb54 100644
--- a/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
+++ b/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.accessibility;
 
-import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
-
 import android.content.Context;
 import android.provider.Settings;
 
@@ -40,10 +38,9 @@
 
     @Override
     public CharSequence getSummary() {
-        return AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, DALTONIZER_COMPONENT_NAME,
+        return AccessibilityUtil.getSummary(
+                mContext,
                 DALTONIZER_ENABLED,
-                R.string.daltonizer_state_on, R.string.daltonizer_state_off,
-                R.string.daltonizer_feature_summary);
+                R.string.daltonizer_state_on, R.string.daltonizer_state_off);
     }
 }
diff --git a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreference.java b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreference.java
index 0141084..79534d8 100644
--- a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreference.java
+++ b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreference.java
@@ -62,7 +62,8 @@
 
     private void init() {
         setLayoutResource(R.layout.flash_notification_preview_preference);
-        mBackgroundEnabled = getContext().getDrawable(R.drawable.settingslib_switch_bar_bg_on);
+        mBackgroundEnabled = getContext().getDrawable(
+                com.android.settingslib.widget.R.drawable.settingslib_switch_bar_bg_on);
         mBackgroundDisabled = getContext().getDrawable(R.drawable.switch_bar_bg_disabled);
         mTextColorDisabled = Utils.getColorAttrDefaultColor(getContext(),
                 android.R.attr.textColorPrimary);
diff --git a/src/com/android/settings/accessibility/LiveCaptionPreferenceController.java b/src/com/android/settings/accessibility/LiveCaptionPreferenceController.java
index 5067b56..2d12f67 100644
--- a/src/com/android/settings/accessibility/LiveCaptionPreferenceController.java
+++ b/src/com/android/settings/accessibility/LiveCaptionPreferenceController.java
@@ -20,12 +20,10 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.provider.Settings;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 import java.util.List;
@@ -56,16 +54,5 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
         preference.setIntent(LIVE_CAPTION_INTENT);
-        boolean enabled = Settings.Secure.getInt(
-                mContext.getContentResolver(),
-                Settings.Secure.ODI_CAPTIONS_ENABLED, AccessibilityUtil.State.OFF)
-                == AccessibilityUtil.State.ON;
-        CharSequence serviceState = mContext.getText(enabled
-                ? R.string.live_caption_enabled : R.string.live_caption_disabled);
-
-        preference.setSummary(
-                mContext.getString(
-                        R.string.preference_summary_default_combination,
-                        serviceState, mContext.getText(R.string.live_caption_summary)));
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/accessibility/OneHandedPreferenceController.java b/src/com/android/settings/accessibility/OneHandedPreferenceController.java
deleted file mode 100644
index a71f777..0000000
--- a/src/com/android/settings/accessibility/OneHandedPreferenceController.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.accessibility;
-
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settings.gestures.OneHandedEnablePreferenceController;
-import com.android.settings.gestures.OneHandedSettingsUtils;
-
-/**
- * OneHandedPreferenceController is the same as {@link OneHandedEnablePreferenceController} excepts
- * that the summary shown on the preference item would include the short description of One-handed
- * mode, so that the UI representation is consistent with other items on Accessibility Settings
- */
-public final class OneHandedPreferenceController extends OneHandedEnablePreferenceController {
-
-    public OneHandedPreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        return mContext.getString(
-                R.string.preference_summary_default_combination,
-                mContext.getText(OneHandedSettingsUtils.isOneHandedModeEnabled(mContext)
-                        ? R.string.gesture_setting_on : R.string.gesture_setting_off),
-                mContext.getText(R.string.one_handed_mode_intro_text));
-    }
-}
diff --git a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
index 235e96b..dfa2f33 100644
--- a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
+++ b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
@@ -119,7 +119,7 @@
             final String htmlDescription = info.loadHtmlDescription(mPm);
             final String settingsClassName = info.getSettingsActivityName();
             final String tileServiceClassName = info.getTileServiceName();
-            final int metricsCategory = FeatureFactory.getFactory(mContext)
+            final int metricsCategory = FeatureFactory.getFeatureFactory()
                     .getAccessibilityMetricsFeatureProvider()
                     .getDownloadedFeatureMetricsCategory(componentName);
 
@@ -159,8 +159,7 @@
 
             final String key = componentName.flattenToString();
             final CharSequence title = activityInfo.loadLabel(mPm);
-            final CharSequence summary =
-                    AccessibilitySettings.getA11yShortcutInfoPreferenceSummary(mContext, info);
+            final String summary = info.loadSummary(mPm);
             final String fragment =
                     LaunchAccessibilityActivityPreferenceFragment.class.getName();
 
@@ -183,7 +182,7 @@
             final String htmlDescription = info.loadHtmlDescription(mPm);
             final String settingsClassName = info.getSettingsActivityName();
             final String tileServiceClassName = info.getTileServiceName();
-            final int metricsCategory = FeatureFactory.getFactory(mContext)
+            final int metricsCategory = FeatureFactory.getFeatureFactory()
                     .getAccessibilityMetricsFeatureProvider()
                     .getDownloadedFeatureMetricsCategory(componentName);
 
diff --git a/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java b/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java
index 53abc95..bd54aca 100644
--- a/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java
+++ b/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java
@@ -63,7 +63,7 @@
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().changed(
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed(
                 getMetricsCategory(), getPreferenceKey(), isChecked ? 1 : 0);
         if (isChecked) {
             checkAndSetInitialColor();
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index 5e36100..bc34e01 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -95,8 +95,10 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         mComponentName = DALTONIZER_COMPONENT_NAME;
-        mPackageName = getText(R.string.accessibility_display_daltonizer_preference_title);
-        mHtmlDescription = getText(R.string.accessibility_display_daltonizer_preference_subtitle);
+        mPackageName = getText(com.android.settingslib.R
+                .string.accessibility_display_daltonizer_preference_title);
+        mHtmlDescription = getText(com.android.settingslib.R
+                .string.accessibility_display_daltonizer_preference_subtitle);
         mTopIntroTitle = getText(R.string.accessibility_daltonizer_about_intro_text);
         final View view = super.onCreateView(inflater, container, savedInstanceState);
         updateFooterPreference();
@@ -108,8 +110,8 @@
         super.onViewCreated(view, savedInstanceState);
         final View rootView = getActivity().getWindow().peekDecorView();
         if (rootView != null) {
-            rootView.setAccessibilityPaneTitle(getString(
-                    R.string.accessibility_display_daltonizer_preference_title));
+            rootView.setAccessibilityPaneTitle(getString(com.android.settingslib.R
+                    .string.accessibility_display_daltonizer_preference_title));
         }
     }
 
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index a485b49..b096467 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -762,12 +762,9 @@
      */
     public static CharSequence getServiceSummary(Context context) {
         // Get the user shortcut type from settings provider.
-        int shortcutType = getUserShortcutTypeFromSettings(context);
-        return context.getString(
-                R.string.preference_summary_default_combination,
-                shortcutType != AccessibilityUtil.UserShortcutType.EMPTY
-                        ? context.getString(R.string.accessibility_summary_shortcut_enabled)
-                        : context.getString(R.string.generic_accessibility_feature_shortcut_off),
-                context.getText(R.string.magnification_feature_summary));
+        final int uerShortcutType = getUserShortcutTypeFromSettings(context);
+        return (uerShortcutType != AccessibilityUtil.UserShortcutType.EMPTY)
+                ? context.getText(R.string.accessibility_summary_shortcut_enabled)
+                : context.getText(R.string.generic_accessibility_feature_shortcut_off);
     }
 }
diff --git a/src/com/android/settings/accessibility/VibrationSettings.java b/src/com/android/settings/accessibility/VibrationSettings.java
index 26a1bc2..e7a249b 100644
--- a/src/com/android/settings/accessibility/VibrationSettings.java
+++ b/src/com/android/settings/accessibility/VibrationSettings.java
@@ -81,7 +81,7 @@
                 R.integer.config_vibration_supported_intensity_levels);
         if (rv != null && supportedIntensities > 1) {
             final int bottom_padding = res.getDimensionPixelSize(
-                    R.dimen.settingslib_listPreferredItemPaddingEnd);
+                    com.android.settingslib.widget.R.dimen.settingslib_listPreferredItemPaddingEnd);
             rv.setPaddingRelative(rv.getPaddingStart(), rv.getPaddingTop(), rv.getPaddingEnd(),
                     rv.getPaddingBottom() + bottom_padding);
         }
diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java
index cdaba20..db6a4ae 100644
--- a/src/com/android/settings/accounts/AccountPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountPreferenceController.java
@@ -164,7 +164,7 @@
         if (mAuthorities != null) {
             mAuthoritiesCount = mAuthorities.length;
         }
-        final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
+        final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
         mHelper = helper;
         mType = type;
@@ -352,7 +352,7 @@
         } else if (userInfo.isManagedProfile()) {
             if (mType == ProfileSelectFragment.ProfileType.ALL) {
                 setCategoryTitleFromDevicePolicyResource(preferenceGroup, WORK_CATEGORY_HEADER,
-                        R.string.category_work);
+                        com.android.settingslib.R.string.category_work);
                 final String workGroupSummary = getWorkGroupSummary(context, userInfo);
                 preferenceGroup.setSummary(workGroupSummary);
                 setContentDescriptionFromDevicePolicyResource(preferenceGroup,
@@ -366,7 +366,7 @@
         } else if (userInfo.isCloneProfile()) {
             if (mType == ProfileSelectFragment.ProfileType.ALL) {
                 setCategoryTitleFromDevicePolicyResource(preferenceGroup, CLONE_CATEGORY_HEADER,
-                        R.string.category_clone);
+                        com.android.settingslib.R.string.category_clone);
                 setContentDescriptionFromDevicePolicyResource(preferenceGroup,
                         ACCESSIBILITY_CATEGORY_CLONE, R.string.accessibility_category_clone,
                         null);
@@ -375,7 +375,7 @@
             // Primary Profile
             if (mType == ProfileSelectFragment.ProfileType.ALL) {
                 setCategoryTitleFromDevicePolicyResource(preferenceGroup, PERSONAL_CATEGORY_HEADER,
-                        R.string.category_personal);
+                        com.android.settingslib.R.string.category_personal);
                 setContentDescriptionFromDevicePolicyResource(preferenceGroup,
                         ACCESSIBILITY_CATEGORY_PERSONAL, R.string.accessibility_category_personal,
                         null);
diff --git a/src/com/android/settings/accounts/AccountTypePreferenceLoader.java b/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
index f1b5be1..ddf92f5 100644
--- a/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
+++ b/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
@@ -92,7 +92,8 @@
                     final Context targetCtx = mFragment.getActivity().createPackageContextAsUser(
                             desc.packageName, 0, mUserHandle);
                     final Theme baseTheme = mFragment.getResources().newTheme();
-                    baseTheme.applyStyle(R.style.Theme_SettingsBase, true);
+                    baseTheme.applyStyle(
+                            com.android.settingslib.widget.R.style.Theme_SettingsBase, true);
                     final Context themedCtx =
                             new LocalClassLoaderContextThemeWrapper(getClass(), targetCtx, 0);
                     themedCtx.getTheme().setTo(baseTheme);
diff --git a/src/com/android/settings/accounts/AvatarViewMixin.java b/src/com/android/settings/accounts/AvatarViewMixin.java
index 6b04e97..0925e24 100644
--- a/src/com/android/settings/accounts/AvatarViewMixin.java
+++ b/src/com/android/settings/accounts/AvatarViewMixin.java
@@ -117,7 +117,7 @@
                     true /* finishSecondaryWithPrimary */,
                     false /* clearTop */);
 
-            FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logSettingsTileClick(KEY_AVATAR_ICON, SettingsEnums.SETTINGS_HOMEPAGE);
 
             // Here may have two different UI while start the activity.
@@ -144,8 +144,8 @@
 
     @VisibleForTesting
     boolean hasAccount() {
-        final Account accounts[] = FeatureFactory.getFactory(
-                mContext).getAccountFeatureProvider().getAccounts(mContext);
+        final Account[] accounts = FeatureFactory.getFeatureFactory().getAccountFeatureProvider()
+                .getAccounts(mContext);
         return (accounts != null) && (accounts.length > 0);
     }
 
diff --git a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
index ca0a0d6..f7816bb 100644
--- a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
+++ b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
@@ -35,8 +35,8 @@
     public EnterpriseDisclosurePreferenceController(Context context, String key) {
         // Preference key doesn't matter as we are creating the preference in code.
         super(context, key);
-        mFeatureProvider = FeatureFactory.getFactory(mContext)
-                .getEnterprisePrivacyFeatureProvider(mContext);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
index 7003eed..b8ebf61 100644
--- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
+++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
@@ -68,7 +68,7 @@
     public RemoveAccountPreferenceController(Context context, Fragment parent) {
         super(context);
         mParentFragment = parent;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
index e0b38dd..c1b04cc 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
@@ -245,7 +245,7 @@
     private void registerAlwaysExpandRule() {
         final Set<ActivityFilter> activityFilters = new HashSet<>();
         if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SETTINGS_SEARCH_ALWAYS_EXPAND)) {
-            final Intent searchIntent = FeatureFactory.getFactory(mContext)
+            final Intent searchIntent = FeatureFactory.getFeatureFactory()
                     .getSearchFeatureProvider()
                     .buildSearchIntent(mContext, SettingsEnums.SETTINGS_HOMEPAGE);
             addActivityFilter(activityFilters, searchIntent);
diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java
index e95b41a..3d5bddb 100644
--- a/src/com/android/settings/applications/RunningServiceDetails.java
+++ b/src/com/android/settings/applications/RunningServiceDetails.java
@@ -226,8 +226,8 @@
 
     void addServicesHeader() {
         if (mNumServices == 0) {
-            mServicesHeader = (TextView) mInflater.inflate(R.layout.preference_category,
-                    mAllDetails, false);
+            mServicesHeader = (TextView) mInflater.inflate(
+                    androidx.preference.R.layout.preference_category, mAllDetails, false);
             mServicesHeader.setText(R.string.runningservicedetails_services_title);
             mAllDetails.addView(mServicesHeader);
         }
@@ -236,8 +236,8 @@
 
     void addProcessesHeader() {
         if (mNumProcesses == 0) {
-            mProcessesHeader = (TextView) mInflater.inflate(R.layout.preference_category,
-                    mAllDetails, false);
+            mProcessesHeader = (TextView) mInflater.inflate(
+                    androidx.preference.R.layout.preference_category, mAllDetails, false);
             mProcessesHeader.setText(R.string.runningservicedetails_processes_title);
             mAllDetails.addView(mProcessesHeader);
         }
diff --git a/src/com/android/settings/applications/RunningServices.java b/src/com/android/settings/applications/RunningServices.java
index b1689d5..c75fe06 100644
--- a/src/com/android/settings/applications/RunningServices.java
+++ b/src/com/android/settings/applications/RunningServices.java
@@ -42,7 +42,7 @@
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        getActivity().setTitle(R.string.runningservices_settings_title);
+        getActivity().setTitle(com.android.settingslib.R.string.runningservices_settings_title);
     }
 
     @Override
diff --git a/src/com/android/settings/applications/UsageAccessDetails.java b/src/com/android/settings/applications/UsageAccessDetails.java
index 4adb6c1..d0b743d 100644
--- a/src/com/android/settings/applications/UsageAccessDetails.java
+++ b/src/com/android/settings/applications/UsageAccessDetails.java
@@ -148,7 +148,7 @@
         int logCategory = newState ? SettingsEnums.APP_SPECIAL_PERMISSION_USAGE_VIEW_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_USAGE_VIEW_DENY;
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(
                 metricsFeatureProvider.getAttribution(getActivity()),
                 logCategory,
diff --git a/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceController.java b/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceController.java
index 5e99e8b..1216ae8 100644
--- a/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceController.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.os.UserManager;
 
 import androidx.preference.Preference;
 
@@ -39,10 +38,6 @@
 
     @Override
     public int getAvailabilityStatus() {
-        if (UserManager.get(mContext).isManagedProfile()) {
-            return DISABLED_FOR_USER;
-        }
-
         if (AppUtils.isMainlineModule(mContext.getPackageManager(), mPackageName)) {
             return DISABLED_FOR_USER;
         }
diff --git a/src/com/android/settings/applications/appinfo/AppSettingPreferenceController.java b/src/com/android/settings/applications/appinfo/AppSettingPreferenceController.java
index cacbffb..52ed311 100644
--- a/src/com/android/settings/applications/appinfo/AppSettingPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppSettingPreferenceController.java
@@ -59,7 +59,7 @@
         if (intent == null) {
             return false;
         }
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(SettingsEnums.PAGE_UNKNOWN,
                         SettingsEnums.ACTION_OPEN_APP_SETTING,
                         mParent.getMetricsCategory(),
diff --git a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
index 5f7e56f..e1e5968 100644
--- a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
+++ b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
@@ -121,7 +121,7 @@
         int logCategory = newState ? SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_DENY;
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(
                 metricsFeatureProvider.getAttribution(getActivity()),
                 logCategory,
diff --git a/src/com/android/settings/applications/appinfo/ExternalSourcesDetails.java b/src/com/android/settings/applications/appinfo/ExternalSourcesDetails.java
index b723274..2d1375c 100644
--- a/src/com/android/settings/applications/appinfo/ExternalSourcesDetails.java
+++ b/src/com/android/settings/applications/appinfo/ExternalSourcesDetails.java
@@ -88,9 +88,9 @@
                         UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY,
                         userHandle);
         if ((userRestrictionSource & UserManager.RESTRICTION_SOURCE_SYSTEM) != 0) {
-            return context.getString(R.string.disabled_by_admin);
+            return context.getString(com.android.settingslib.widget.R.string.disabled_by_admin);
         } else if (userRestrictionSource != 0) {
-            return context.getString(R.string.disabled);
+            return context.getString(com.android.settingslib.R.string.disabled);
         }
         final InstallAppsState appsState = new AppStateInstallAppsBridge(context, null, null)
                 .createInstallAppsStateFor(entry.info.packageName, entry.info.uid);
@@ -113,7 +113,7 @@
         if (mUserManager.hasBaseUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES,
                 UserHandle.of(UserHandle.myUserId()))) {
             mSwitchPref.setChecked(false);
-            mSwitchPref.setSummary(R.string.disabled);
+            mSwitchPref.setSummary(com.android.settingslib.R.string.disabled);
             mSwitchPref.setEnabled(false);
             return true;
         }
diff --git a/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragment.java b/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragment.java
index 5a6d3df..f514ed6 100644
--- a/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragment.java
+++ b/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragment.java
@@ -63,7 +63,7 @@
     public void onClick(DialogInterface dialog, int which) {
         final Context context = getContext();
         final PackageManager packageManager = context.getPackageManager();
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
             .action(context, SettingsEnums.ACTION_SETTINGS_CLEAR_INSTANT_APP, mPackageName);
         packageManager.deletePackageAsUser(mPackageName, null, 0, UserHandle.myUserId());
     }
diff --git a/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java b/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java
index 6c840d5..4253bd9 100644
--- a/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java
+++ b/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java
@@ -67,7 +67,7 @@
         mSwitchPref.setOnPreferenceChangeListener(this);
 
         mMetricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java b/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java
index d17f843..476cd4e 100644
--- a/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java
+++ b/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java
@@ -89,7 +89,7 @@
     void logSpecialPermissionChange(boolean newState, String packageName) {
         int logCategory = newState ? SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_DENY;
-        FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider().action(getContext(),
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(getContext(),
                 logCategory, packageName);
     }
 
diff --git a/src/com/android/settings/applications/intentpicker/LeftSideCheckBoxPreference.java b/src/com/android/settings/applications/intentpicker/LeftSideCheckBoxPreference.java
index fdb6d25..199dc4e 100644
--- a/src/com/android/settings/applications/intentpicker/LeftSideCheckBoxPreference.java
+++ b/src/com/android/settings/applications/intentpicker/LeftSideCheckBoxPreference.java
@@ -22,7 +22,6 @@
 
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.settings.R;
 import com.android.settingslib.widget.TwoTargetPreference;
 
 /** This preference has a check box in the left side. */
@@ -33,7 +32,7 @@
     public LeftSideCheckBoxPreference(Context context, AttributeSet attrs,
             int defStyleAttr, int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
-        setLayoutResource(R.layout.preference_checkable_two_target);
+        setLayoutResource(com.android.settingslib.R.layout.preference_checkable_two_target);
     }
 
     public LeftSideCheckBoxPreference(Context context, AttributeSet attrs, int defStyleAttr) {
@@ -51,7 +50,7 @@
     public LeftSideCheckBoxPreference(Context context, boolean isChecked) {
         super(context);
         mChecked = isChecked;
-        setLayoutResource(R.layout.preference_checkable_two_target);
+        setLayoutResource(com.android.settingslib.R.layout.preference_checkable_two_target);
     }
 
     @Override
diff --git a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
index e7bb88d..fd998f5 100644
--- a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
+++ b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
@@ -167,13 +167,13 @@
         mFilters[FILTER_APPS_PERSONAL] = new AppFilterItem(
                 ApplicationsState.FILTER_PERSONAL,
                 FILTER_APPS_PERSONAL,
-                R.string.category_personal);
+                com.android.settingslib.R.string.category_personal);
 
         // Work
         mFilters[FILTER_APPS_WORK] = new AppFilterItem(
                 ApplicationsState.FILTER_WORK,
                 FILTER_APPS_WORK,
-                R.string.category_work);
+                com.android.settingslib.R.string.category_work);
 
         // Usage access screen, never displayed.
         mFilters[FILTER_APPS_USAGE_ACCESS] = new AppFilterItem(
@@ -219,7 +219,7 @@
         mFilters[FILTER_ALARMS_AND_REMINDERS] = new AppFilterItem(
                 AppStateAlarmsAndRemindersBridge.FILTER_CLOCK_APPS,
                 FILTER_ALARMS_AND_REMINDERS,
-                R.string.alarms_and_reminders_title);
+                com.android.settingslib.R.string.alarms_and_reminders_title);
 
         // Apps that can manage media files
         mFilters[FILTER_APPS_MEDIA_MANAGEMENT] = new AppFilterItem(
@@ -279,7 +279,7 @@
         mFilters[FILTER_APPS_TURN_SCREEN_ON] = new AppFilterItem(
                 AppStateTurnScreenOnBridge.FILTER_TURN_SCREEN_ON_APPS,
                 FILTER_APPS_TURN_SCREEN_ON,
-                R.string.turn_screen_on_title);
+                com.android.settingslib.R.string.turn_screen_on_title);
     }
 
     public static AppFilterRegistry getInstance() {
diff --git a/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java b/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java
index 58232ea..b8f1b4c 100644
--- a/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java
+++ b/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java
@@ -73,7 +73,7 @@
         mAppName = itemView.findViewById(android.R.id.title);
         mAppIcon = itemView.findViewById(android.R.id.icon);
         mSummary = itemView.findViewById(android.R.id.summary);
-        mDisabled = itemView.findViewById(R.id.appendix);
+        mDisabled = itemView.findViewById(com.android.settingslib.widget.R.id.appendix);
         mSwitch = itemView.findViewById(R.id.switchWidget);
         mWidgetContainer = itemView.findViewById(android.R.id.widget_frame);
         mAddIcon = itemView.findViewById(R.id.add_preference_widget);
@@ -86,7 +86,7 @@
 
     static View newView(ViewGroup parent, boolean twoTarget, int listType) {
         ViewGroup view = (ViewGroup) LayoutInflater.from(parent.getContext())
-                .inflate(R.layout.preference_app, parent, false);
+                .inflate(com.android.settingslib.widget.R.layout.preference_app, parent, false);
         ViewGroup widgetFrame = view.findViewById(android.R.id.widget_frame);
         if (twoTarget) {
             if (widgetFrame != null) {
@@ -98,7 +98,8 @@
                             .inflate(R.layout.preference_widget_primary_switch, widgetFrame, true);
                 }
                 View divider = LayoutInflater.from(parent.getContext()).inflate(
-                        R.layout.preference_two_target_divider, view, false);
+                        com.android.settingslib.widget.R.layout.preference_two_target_divider,
+                        view, false);
                 // second to last, before widget frame
                 view.addView(divider, view.getChildCount() - 1);
             }
@@ -110,7 +111,8 @@
 
     static View newHeader(ViewGroup parent, int resText) {
         ViewGroup view = (ViewGroup) LayoutInflater.from(parent.getContext())
-                .inflate(R.layout.preference_app_header, parent, false);
+                .inflate(com.android.settingslib.widget.R.layout.preference_app_header,
+                        parent, false);
         TextView textView = view.findViewById(R.id.apps_top_intro_text);
         textView.setText(resText);
         return view;
@@ -183,7 +185,7 @@
         } else if (!info.enabled || info.enabledSetting
                 == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED) {
             mDisabled.setVisibility(View.VISIBLE);
-            mDisabled.setText(R.string.disabled);
+            mDisabled.setText(com.android.settingslib.R.string.disabled);
         } else {
             mDisabled.setVisibility(View.GONE);
         }
@@ -244,7 +246,7 @@
             public void onClick(View v) {
                 CloneBackend cloneBackend = CloneBackend.getInstance(context);
                 final MetricsFeatureProvider metricsFeatureProvider =
-                        FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+                        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
                 String packageName = entry.info.packageName;
 
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index d734a27..e370f3e 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -689,7 +689,8 @@
                 startAppInfoFragment(WriteSettingsDetails.class, R.string.write_system_settings);
                 break;
             case LIST_TYPE_MANAGE_SOURCES:
-                startAppInfoFragment(ExternalSourcesDetails.class, R.string.install_other_apps);
+                startAppInfoFragment(ExternalSourcesDetails.class,
+                        com.android.settingslib.R.string.install_other_apps);
                 break;
             case LIST_TYPE_GAMES:
                 startAppInfoFragment(AppStorageSettings.class, R.string.game_storage_settings);
@@ -704,7 +705,7 @@
                 break;
             case LIST_TYPE_ALARMS_AND_REMINDERS:
                 startAppInfoFragment(AlarmsAndRemindersDetails.class,
-                        R.string.alarms_and_reminders_label);
+                        com.android.settingslib.R.string.alarms_and_reminders_label);
                 break;
             case LIST_TYPE_MEDIA_MANAGEMENT_APPS:
                 startAppInfoFragment(MediaManagementAppsDetails.class,
@@ -741,7 +742,8 @@
                         R.string.change_nfc_tag_apps_title);
                 break;
             case LIST_TYPE_TURN_SCREEN_ON:
-                startAppInfoFragment(TurnScreenOnDetails.class, R.string.turn_screen_on_title);
+                startAppInfoFragment(TurnScreenOnDetails.class,
+                        com.android.settingslib.R.string.turn_screen_on_title);
                 break;
             // TODO: Figure out if there is a way where we can spin up the profile's settings
             // process ahead of time, to avoid a long load of data when user clicks on a managed
@@ -1052,7 +1054,7 @@
         } else if (className.equals(WriteSettingsActivity.class.getName())) {
             screenTitle = R.string.write_settings;
         } else if (className.equals(ManageExternalSourcesActivity.class.getName())) {
-            screenTitle = R.string.install_other_apps;
+            screenTitle = com.android.settingslib.R.string.install_other_apps;
         } else if (className.equals(ChangeWifiStateActivity.class.getName())) {
             screenTitle = R.string.change_wifi_state_title;
         } else if (className.equals(ManageExternalStorageActivity.class.getName())) {
@@ -1060,7 +1062,7 @@
         } else if (className.equals(MediaManagementAppsActivity.class.getName())) {
             screenTitle = R.string.media_management_apps_title;
         } else if (className.equals(AlarmsAndRemindersActivity.class.getName())) {
-            screenTitle = R.string.alarms_and_reminders_title;
+            screenTitle = com.android.settingslib.R.string.alarms_and_reminders_title;
         } else if (className.equals(NotificationAppListActivity.class.getName())
                 || className.equals(
                 NotificationReviewPermissionsActivity.class.getName())) {
@@ -1076,7 +1078,7 @@
         } else if (className.equals(ChangeNfcTagAppsActivity.class.getName())) {
             screenTitle = R.string.change_nfc_tag_apps_title;
         } else if (className.equals(TurnScreenOnSettingsActivity.class.getName())) {
-            screenTitle = R.string.turn_screen_on_title;
+            screenTitle = com.android.settingslib.R.string.turn_screen_on_title;
         } else {
             if (screenTitle == -1) {
                 screenTitle = R.string.all_apps;
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
index c43bde6..8ab3ee4 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
@@ -573,7 +573,7 @@
     void logSpecialPermissionChange(boolean allow, String packageName) {
         int logCategory = allow ? SettingsEnums.APP_SPECIAL_PERMISSION_ADMIN_ALLOW :
                 SettingsEnums.APP_SPECIAL_PERMISSION_ADMIN_DENY;
-        FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(
                 SettingsEnums.PAGE_UNKNOWN,
                 logCategory,
                 SettingsEnums.PAGE_UNKNOWN,
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
index 9403316..1184d8e 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
@@ -104,7 +104,7 @@
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
         mPackageManager = mContext.getPackageManager();
         mIPackageManager = AppGlobals.getPackageManager();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
index 4149e23..42d2db2 100644
--- a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
@@ -208,7 +208,8 @@
             title.setText(appLabel);
         }
 
-        final ImageView personalIconView = mHeader.findViewById(R.id.entity_header_icon_personal);
+        final ImageView personalIconView = mHeader.findViewById(
+                com.android.settingslib.widget.R.id.entity_header_icon_personal);
         if (personalIconView != null) {
             Drawable icon = IconDrawableFactory.newInstance(mContext)
                     .getBadgedIcon(mPackageInfo.applicationInfo, personalProfile.getIdentifier())
@@ -219,7 +220,8 @@
             personalIconView.setImageDrawable(icon);
         }
 
-        final ImageView workIconView = mHeader.findViewById(R.id.entity_header_icon_work);
+        final ImageView workIconView = mHeader.findViewById(
+                com.android.settingslib.widget.R.id.entity_header_icon_work);
         if (workIconView != null) {
             Drawable icon = IconDrawableFactory.newInstance(mContext)
                     .getBadgedIcon(mPackageInfo.applicationInfo, workProfile.getIdentifier())
@@ -499,20 +501,24 @@
     private void enableSwitchPref() {
         mSwitchPref.setChecked(true);
         mSwitchPref.setTitle(R.string.interact_across_profiles_switch_enabled);
-        final ImageView horizontalArrowIcon = mHeader.findViewById(R.id.entity_header_swap_horiz);
+        final ImageView horizontalArrowIcon =
+                mHeader.findViewById(com.android.settingslib.widget.R.id.entity_header_swap_horiz);
         if (horizontalArrowIcon != null) {
             horizontalArrowIcon.setImageDrawable(
-                    mContext.getDrawable(R.drawable.ic_swap_horiz_blue));
+                    mContext.getDrawable(
+                            com.android.settingslib.widget.R.drawable.ic_swap_horiz_blue));
         }
     }
 
     private void disableSwitchPref() {
         mSwitchPref.setChecked(false);
         mSwitchPref.setTitle(R.string.interact_across_profiles_switch_disabled);
-        final ImageView horizontalArrowIcon = mHeader.findViewById(R.id.entity_header_swap_horiz);
+        final ImageView horizontalArrowIcon =
+                mHeader.findViewById(com.android.settingslib.widget.R.id.entity_header_swap_horiz);
         if (horizontalArrowIcon != null) {
             horizontalArrowIcon.setImageDrawable(
-                    mContext.getDrawable(R.drawable.ic_swap_horiz_grey));
+                    mContext.getDrawable(
+                            com.android.settingslib.widget.R.drawable.ic_swap_horiz_grey));
         }
     }
 
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java
index 6bee62c..e3816bf 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java
@@ -135,7 +135,7 @@
     void logSpecialPermissionChange(boolean enable, String packageName) {
         final int logCategory = enable ? SettingsEnums.APP_SPECIAL_PERMISSION_NOTIVIEW_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_NOTIVIEW_DENY;
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().action(mContext,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(mContext,
                 logCategory, packageName);
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java
index 1c322ff..7d557be 100644
--- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java
@@ -124,7 +124,7 @@
                 ? SettingsEnums.APP_PICTURE_IN_PICTURE_ALLOW
                 : SettingsEnums.APP_PICTURE_IN_PICTURE_DENY;
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(
                 metricsFeatureProvider.getAttribution(getActivity()),
                 logCategory,
diff --git a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
index 54ac63e..c186e07 100644
--- a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
+++ b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
@@ -126,7 +126,7 @@
         if (category != SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN) {
             // TODO(117860032): Category is wrong. It should be defined in SettingsEnums.
             final MetricsFeatureProvider metricsFeatureProvider =
-                    FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
             metricsFeatureProvider.action(
                     metricsFeatureProvider.getAttribution(getActivity()),
                     category,
diff --git a/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
index a70d03e..d35a492 100644
--- a/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
+++ b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
@@ -69,7 +69,7 @@
         int logCategory = enable ? SettingsEnums.APP_SPECIAL_PERMISSION_VRHELPER_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_VRHELPER_DENY;
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(
                 metricsFeatureProvider.getAttribution(getActivity()),
                 logCategory,
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
index 2c52a8c..b4a0c88 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
@@ -23,7 +23,6 @@
 import android.content.Context;
 import android.content.pm.PackageInfo;
 import android.content.pm.ParceledListSlice;
-import android.os.AsyncTask;
 import android.os.RemoteException;
 import android.util.ArraySet;
 import android.util.Log;
@@ -110,7 +109,7 @@
     static void logSpecialPermissionChange(boolean enable, String packageName, Context context) {
         int logCategory = enable ? SettingsEnums.APP_SPECIAL_PERMISSION_DND_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_DND_DENY;
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context,
                 logCategory, packageName);
     }
 }
diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
index ebbe2e8..40763e3 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -238,7 +238,7 @@
                 if (parentalConsent && isMultiSensor && mIsFaceEnrollable) {
                     // Exclude face enrollment from setup wizard if feature config not supported
                     // in setup wizard flow, we still allow user enroll faces through settings.
-                    mIsFaceEnrollable = FeatureFactory.getFactory(getApplicationContext())
+                    mIsFaceEnrollable = FeatureFactory.getFeatureFactory()
                             .getFaceFeatureProvider()
                             .isSetupWizardSupported(getApplicationContext());
                     Log.d(TAG, "config_suw_support_face_enroll: " + mIsFaceEnrollable);
@@ -424,7 +424,9 @@
     // handles responses while parental consent is pending
     private void handleOnActivityResultWhileConsenting(
             int requestCode, int resultCode, Intent data) {
-        overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+        overridePendingTransition(
+                com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                com.google.android.setupdesign.R.anim.sud_slide_next_out);
 
         switch (requestCode) {
             case REQUEST_CHOOSE_LOCK:
diff --git a/src/com/android/settings/biometrics/BiometricEnrollBase.java b/src/com/android/settings/biometrics/BiometricEnrollBase.java
index 6e11079..c9c8cff 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollBase.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollBase.java
@@ -171,7 +171,7 @@
             mNextLaunched = savedInstanceState.getBoolean(EXTRA_KEY_NEXT_LAUNCHED);
         }
         mUserId = getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
-        mPostureGuidanceIntent = FeatureFactory.getFactory(getApplicationContext())
+        mPostureGuidanceIntent = FeatureFactory.getFeatureFactory()
                 .getFaceFeatureProvider().getPostureGuidanceIntent(getApplicationContext());
     }
 
diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
index 46f534d..44b1b3b 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
@@ -367,7 +367,9 @@
                 updatePasswordQuality();
                 final boolean handled = onSetOrConfirmCredentials(data);
                 if (!handled) {
-                    overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+                    overridePendingTransition(
+                            com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                            com.google.android.setupdesign.R.anim.sud_slide_next_out);
                     getNextButton().setEnabled(false);
                     getChallenge(((sensorId, userId, challenge) -> {
                         mSensorId = sensorId;
@@ -387,7 +389,9 @@
             if (resultCode == RESULT_OK && data != null) {
                 final boolean handled = onSetOrConfirmCredentials(data);
                 if (!handled) {
-                    overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+                    overridePendingTransition(
+                            com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                            com.google.android.setupdesign.R.anim.sud_slide_next_out);
                     getNextButton().setEnabled(false);
                     getChallenge(((sensorId, userId, challenge) -> {
                         mSensorId = sensorId;
@@ -403,7 +407,9 @@
                 finish();
             }
         } else if (requestCode == LEARN_MORE_REQUEST) {
-            overridePendingTransition(R.anim.sud_slide_back_in, R.anim.sud_slide_back_out);
+            overridePendingTransition(
+                    com.google.android.setupdesign.R.anim.sud_slide_back_in,
+                    com.google.android.setupdesign.R.anim.sud_slide_back_out);
         } else if (requestCode == ENROLL_NEXT_BIOMETRIC_REQUEST
                 || cameFromMultiBioFpAuthAddAnother) {
             if (isResultFinished(resultCode)) {
diff --git a/src/com/android/settings/biometrics/BiometricHandoffActivity.java b/src/com/android/settings/biometrics/BiometricHandoffActivity.java
index 7f28ced..263bab1 100644
--- a/src/com/android/settings/biometrics/BiometricHandoffActivity.java
+++ b/src/com/android/settings/biometrics/BiometricHandoffActivity.java
@@ -56,7 +56,7 @@
                     .setText(R.string.biometric_settings_hand_back_to_guardian_ok)
                     .setButtonType(FooterButton.ButtonType.NEXT)
                     .setListener(this::onNextButtonClick)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mPrimaryFooterButton;
diff --git a/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java b/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java
index 2f9ae6b..b9d2072 100644
--- a/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java
@@ -71,7 +71,7 @@
     public BiometricStatusPreferenceController(Context context, String key) {
         super(context, key);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
diff --git a/src/com/android/settings/biometrics/BiometricUtils.java b/src/com/android/settings/biometrics/BiometricUtils.java
index 6b6d952..53892bd 100644
--- a/src/com/android/settings/biometrics/BiometricUtils.java
+++ b/src/com/android/settings/biometrics/BiometricUtils.java
@@ -514,7 +514,7 @@
      * Returns true if the device supports Face enrollment in SUW flow
      */
     public static boolean isFaceSupportedInSuw(Context context) {
-        return FeatureFactory.getFactory(context).getFaceFeatureProvider().isSetupWizardSupported(
+        return FeatureFactory.getFeatureFactory().getFaceFeatureProvider().isSetupWizardSupported(
                 context);
     }
 
diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java
index 1f30e56..ce12c59 100644
--- a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java
+++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java
@@ -88,7 +88,7 @@
                         .setText(R.string.cancel)
                         .setListener(this::onCancelClick)
                         .setButtonType(FooterButton.ButtonType.CANCEL)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
 
@@ -97,7 +97,7 @@
                         .setText(R.string.security_settings_activeunlock_biometric_setup)
                         .setListener(this::onNextButtonClick)
                         .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
     }
diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
index 487e254..d8d3484 100644
--- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
+++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
@@ -21,6 +21,7 @@
 
 import static com.android.settings.password.ChooseLockPattern.RESULT_FINISHED;
 
+import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.hardware.biometrics.SensorProperties;
@@ -179,6 +180,12 @@
             }
 
             mFaceManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
+                final Activity activity = getActivity();
+                if (activity == null || activity.isFinishing()) {
+                    Log.e(getLogTag(), "Stop during generating face unlock challenge"
+                            + " because activity is null or finishing");
+                    return;
+                }
                 try {
                     final byte[] token = requestGatekeeperHat(context, mGkPwHandle, mUserId,
                             challenge);
@@ -215,6 +222,12 @@
             }
 
             mFingerprintManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
+                final Activity activity = getActivity();
+                if (activity == null || activity.isFinishing()) {
+                    Log.e(getLogTag(), "Stop during generating fingerprint challenge"
+                            + " because activity is null or finishing");
+                    return;
+                }
                 try {
                     final byte[] token = requestGatekeeperHat(context, mGkPwHandle, mUserId,
                             challenge);
@@ -315,8 +328,9 @@
                 if (BiometricUtils.containsGatekeeperPasswordHandle(data)) {
                     mGkPwHandle = BiometricUtils.getGatekeeperPasswordHandle(data);
                     if (!TextUtils.isEmpty(mRetryPreferenceKey)) {
-                        getActivity().overridePendingTransition(R.anim.sud_slide_next_in,
-                                R.anim.sud_slide_next_out);
+                        getActivity().overridePendingTransition(
+                                com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                                com.google.android.setupdesign.R.anim.sud_slide_next_out);
                         retryPreferenceKey(mRetryPreferenceKey, mRetryPreferenceExtra);
                     }
                 } else {
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
index 4ef4752..814dac1 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
@@ -117,7 +117,8 @@
                             .setText(R.string.skip_label)
                             .setListener(this::onSkipButtonClick)
                             .setButtonType(FooterButton.ButtonType.SKIP)
-                            .setTheme(R.style.SudGlifButton_Secondary)
+                            .setTheme(
+                                    com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                             .build()
             );
         } else {
@@ -126,7 +127,8 @@
                             .setText(R.string.security_settings_face_enroll_introduction_cancel)
                             .setListener(this::onSkipButtonClick)
                             .setButtonType(FooterButton.ButtonType.CANCEL)
-                            .setTheme(R.style.SudGlifButton_Secondary)
+                            .setTheme(
+                                    com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                             .build()
             );
         }
@@ -135,7 +137,7 @@
                 .setText(R.string.security_settings_face_enroll_education_start)
                 .setListener(this::onNextButtonClick)
                 .setButtonType(FooterButton.ButtonType.NEXT)
-                .setTheme(R.style.SudGlifButton_Primary)
+                .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                 .build();
 
         final AccessibilityManager accessibilityManager = getApplicationContext().getSystemService(
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
index 68fbe38..472410b 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
@@ -100,7 +100,7 @@
                         .setText(R.string.security_settings_face_enroll_enrolling_skip)
                         .setListener(this::onSkipButtonClick)
                         .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
 
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollFinish.java b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
index 6e99cdb..16aeeb0 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
@@ -43,7 +43,7 @@
                         .setText(R.string.security_settings_face_enroll_done)
                         .setListener(this::onNextButtonClick)
                         .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
     }
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
index bea0c33..eb50e08 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
@@ -537,7 +537,7 @@
                     .setText(R.string.security_settings_face_enroll_introduction_agree)
                     .setButtonType(FooterButton.ButtonType.OPT_IN)
                     .setListener(this::onNextButtonClick)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mPrimaryFooterButton;
@@ -551,7 +551,7 @@
                     .setText(R.string.security_settings_face_enroll_introduction_no_thanks)
                     .setListener(this::onSkipButtonClick)
                     .setButtonType(FooterButton.ButtonType.NEXT)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mSecondaryFooterButton;
diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java
index 2e94404..bebb5c7 100644
--- a/src/com/android/settings/biometrics/face/FaceSettings.java
+++ b/src/com/android/settings/biometrics/face/FaceSettings.java
@@ -182,7 +182,7 @@
 
         mUserId = getActivity().getIntent().getIntExtra(
                 Intent.EXTRA_USER_ID, UserHandle.myUserId());
-        mFaceFeatureProvider = FeatureFactory.getFactory(getContext()).getFaceFeatureProvider();
+        mFaceFeatureProvider = FeatureFactory.getFeatureFactory().getFaceFeatureProvider();
 
         if (mUserManager.getUserInfo(mUserId).isManagedProfile()) {
             getActivity().setTitle(
@@ -418,13 +418,9 @@
                 }
 
                 private boolean isAttentionSupported(Context context) {
-                    FaceFeatureProvider featureProvider = FeatureFactory.getFactory(
-                            context).getFaceFeatureProvider();
-                    boolean isAttentionSupported = false;
-                    if (featureProvider != null) {
-                        isAttentionSupported = featureProvider.isAttentionSupported(context);
-                    }
-                    return isAttentionSupported;
+                    FaceFeatureProvider featureProvider =
+                            FeatureFactory.getFeatureFactory().getFaceFeatureProvider();
+                    return featureProvider.isAttentionSupported(context);
                 }
 
                 private boolean hasEnrolledBiometrics(Context context) {
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceController.java
index 0ce02ab..e2123f0 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceController.java
@@ -49,7 +49,7 @@
 
     public FaceSettingsFooterPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mProvider = FeatureFactory.getFactory(context).getFaceFeatureProvider();
+        mProvider = FeatureFactory.getFeatureFactory().getFaceFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java
index 1e74ad7..739de6b 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java
@@ -170,7 +170,7 @@
         super(context, preferenceKey);
         mContext = context;
         mFaceManager = context.getSystemService(FaceManager.class);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mFaceUpdater = new FaceUpdater(context, mFaceManager);
     }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index 0313d58..c62ab3b 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -273,7 +273,7 @@
                         .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
                         .setListener(this::onSkipButtonClick)
                         .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
 
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
index aadc932..c207ec9 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
@@ -95,7 +95,7 @@
                         .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
                         .setListener(this::onSkipButtonClick)
                         .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
 
@@ -109,7 +109,7 @@
                     .setText(R.string.security_settings_udfps_enroll_find_sensor_start_button)
                     .setListener(this::onStartButtonClick)
                     .setButtonType(FooterButton.ButtonType.NEXT)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build()
             );
 
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
index a5d198d..722f213 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
@@ -79,7 +79,7 @@
                 new FooterButton.Builder(this)
                         .setText(R.string.fingerprint_enroll_button_add)
                         .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
 
@@ -88,7 +88,7 @@
                         .setText(R.string.security_settings_fingerprint_enroll_done)
                         .setListener(this::onNextButtonClick)
                         .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
     }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
index 04063ed..df23a5c 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
@@ -127,13 +127,16 @@
         footerTitle1.setText(getFooterTitle1());
         footerTitle2.setText(getFooterTitle2());
 
-        final ScrollView scrollView = findViewById(R.id.sud_scroll_view);
+        final ScrollView scrollView =
+                findViewById(com.google.android.setupdesign.R.id.sud_scroll_view);
         scrollView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
 
         final Intent intent = getIntent();
         if (mFromSettingsSummary
                 && GatekeeperPasswordProvider.containsGatekeeperPasswordHandle(intent)) {
-            overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+            overridePendingTransition(
+                    com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                    com.google.android.setupdesign.R.anim.sud_slide_next_out);
             getNextButton().setEnabled(false);
             getChallenge(((sensorId, userId, challenge) -> {
                 if (isFinishing()) {
@@ -406,7 +409,7 @@
                     .setText(R.string.security_settings_fingerprint_enroll_introduction_agree)
                     .setListener(this::onNextButtonClick)
                     .setButtonType(FooterButton.ButtonType.OPT_IN)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mPrimaryFooterButton;
@@ -420,7 +423,7 @@
                     .setText(getNegativeButtonTextId())
                     .setListener(this::onSkipButtonClick)
                     .setButtonType(FooterButton.ButtonType.NEXT)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mSecondaryFooterButton;
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index 3c4eb10..e5d9dd8 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -876,8 +876,9 @@
                             final Activity activity = getActivity();
                             if (activity != null) {
                                 // Apply pending transition for auto adding first fingerprint case
-                                activity.overridePendingTransition(R.anim.sud_slide_next_in,
-                                        R.anim.sud_slide_next_out);
+                                activity.overridePendingTransition(
+                                        com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                                        com.google.android.setupdesign.R.anim.sud_slide_next_out);
                             }
 
                             // To have smoother animation, change flow to let next visible activity
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java
index df2f2f7..77b8aea 100644
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java
@@ -78,7 +78,7 @@
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
-        mHeaderView = findViewById(R.id.sud_landscape_header_area);
+        mHeaderView = findViewById(com.google.android.setupdesign.R.id.sud_landscape_header_area);
         mUdfpsEnrollView = findViewById(R.id.udfps_animation_view);
     }
 
@@ -201,8 +201,10 @@
             return false;
         };
 
-        findManagedViewById(mIsLandscape ? R.id.sud_landscape_content_area
-                : R.id.sud_layout_content).setOnHoverListener(onHoverListener);
+        findManagedViewById(mIsLandscape
+                ? com.google.android.setupdesign.R.id.sud_landscape_content_area
+                : com.google.android.setupdesign.R.id.sud_layout_content
+        ).setOnHoverListener(onHoverListener);
     }
 
     private void swapHeaderAndContent() {
@@ -212,7 +214,8 @@
         parentView.addView(mHeaderView);
 
         // Hide scroll indicators
-        BottomScrollView headerScrollView = mHeaderView.findViewById(R.id.sud_header_scroll_view);
+        BottomScrollView headerScrollView = mHeaderView.findViewById(
+                com.google.android.setupdesign.R.id.sud_header_scroll_view);
         headerScrollView.setScrollIndicators(0);
     }
 
diff --git a/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java b/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
index b83614c..516f471 100644
--- a/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
+++ b/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
@@ -28,6 +28,7 @@
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.biometrics.fingerprint.FingerprintUpdater;
 import com.android.settings.biometrics2.data.repository.FingerprintRepository;
+import com.android.settings.biometrics2.ui.model.CredentialModel;
 import com.android.settings.biometrics2.ui.model.EnrollmentRequest;
 import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel;
 import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.ChallengeGenerator;
@@ -54,8 +55,8 @@
             new CreationExtras.Key<ChallengeGenerator>() {};
     public static final CreationExtras.Key<EnrollmentRequest> ENROLLMENT_REQUEST_KEY =
             new CreationExtras.Key<EnrollmentRequest>() {};
-    public static final CreationExtras.Key<Integer> USER_ID_KEY =
-            new CreationExtras.Key<Integer>() {};
+    public static final CreationExtras.Key<CredentialModel> CREDENTIAL_MODEL_KEY =
+            new CreationExtras.Key<CredentialModel>() {};
 
     @NonNull
     @Override
@@ -68,17 +69,18 @@
             Log.w(TAG, "create, null application");
             return create(modelClass);
         }
-        final FeatureFactory featureFactory = FeatureFactory.getFactory(application);
-        final BiometricsRepositoryProvider provider = FeatureFactory.getFactory(application)
-                .getBiometricsRepositoryProvider();
+        final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
+        final BiometricsRepositoryProvider provider =
+                featureFactory.getBiometricsRepositoryProvider();
 
         if (modelClass.isAssignableFrom(AutoCredentialViewModel.class)) {
             final LockPatternUtils lockPatternUtils =
                     featureFactory.getSecurityFeatureProvider().getLockPatternUtils(application);
             final ChallengeGenerator challengeGenerator = extras.get(CHALLENGE_GENERATOR_KEY);
-            if (challengeGenerator != null) {
+            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
+            if (challengeGenerator != null && credentialModel != null) {
                 return (T) new AutoCredentialViewModel(application, lockPatternUtils,
-                        challengeGenerator);
+                        challengeGenerator, credentialModel);
             }
         } else if (modelClass.isAssignableFrom(DeviceFoldedViewModel.class)) {
             return (T) new DeviceFoldedViewModel(new ScreenSizeFoldProvider(application),
@@ -93,10 +95,10 @@
         } else if (modelClass.isAssignableFrom(FingerprintEnrollIntroViewModel.class)) {
             final FingerprintRepository repository = provider.getFingerprintRepository(application);
             final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY);
-            final Integer userId = extras.get(USER_ID_KEY);
-            if (repository != null && request != null && userId != null) {
+            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
+            if (repository != null && request != null && credentialModel != null) {
                 return (T) new FingerprintEnrollIntroViewModel(application, repository, request,
-                        userId);
+                        credentialModel.getUserId());
             }
         } else if (modelClass.isAssignableFrom(FingerprintEnrollmentViewModel.class)) {
             final FingerprintRepository repository = provider.getFingerprintRepository(application);
@@ -105,27 +107,27 @@
                 return (T) new FingerprintEnrollmentViewModel(application, repository, request);
             }
         } else if (modelClass.isAssignableFrom(FingerprintEnrollProgressViewModel.class)) {
-            final Integer userId = extras.get(USER_ID_KEY);
-            if (userId != null) {
+            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
+            if (credentialModel != null) {
                 return (T) new FingerprintEnrollProgressViewModel(application,
-                        new FingerprintUpdater(application), userId);
+                        new FingerprintUpdater(application), credentialModel.getUserId());
             }
         } else if (modelClass.isAssignableFrom(FingerprintEnrollEnrollingViewModel.class)) {
-            final Integer userId = extras.get(USER_ID_KEY);
+            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
             final FingerprintRepository fingerprint = provider.getFingerprintRepository(
                     application);
-            if (fingerprint != null && userId != null) {
-                return (T) new FingerprintEnrollEnrollingViewModel(application, userId,
-                        fingerprint);
+            if (fingerprint != null && credentialModel != null) {
+                return (T) new FingerprintEnrollEnrollingViewModel(application,
+                        credentialModel.getUserId(), fingerprint);
             }
         } else if (modelClass.isAssignableFrom(FingerprintEnrollFinishViewModel.class)) {
-            final Integer userId = extras.get(USER_ID_KEY);
+            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
             final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY);
             final FingerprintRepository fingerprint = provider.getFingerprintRepository(
                     application);
-            if (fingerprint != null && userId != null && request != null) {
-                return (T) new FingerprintEnrollFinishViewModel(application, userId, request,
-                        fingerprint);
+            if (fingerprint != null && credentialModel != null && request != null) {
+                return (T) new FingerprintEnrollFinishViewModel(application,
+                        credentialModel.getUserId(), request, fingerprint);
             }
         } else if (modelClass.isAssignableFrom(FingerprintEnrollErrorDialogViewModel.class)) {
             final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY);
diff --git a/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt b/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt
index 7999ab8..5350733 100644
--- a/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt
+++ b/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt
@@ -80,20 +80,6 @@
     val isValidToken: Boolean
         get() = token != null
 
-    val bundle: Bundle
-        /**
-         * Get a bundle which can be used to recreate CredentialModel
-         */
-        get() {
-            val bundle = Bundle()
-            bundle.putInt(EXTRA_USER_ID, userId)
-            bundle.putLong(EXTRA_KEY_CHALLENGE, challenge)
-            bundle.putByteArray(EXTRA_KEY_CHALLENGE_TOKEN, token)
-            bundle.putLong(EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
-            return bundle
-        }
-
-
     /** Returns a string representation of the object */
     override fun toString(): String {
         val gkPwHandleLen = "$gkPwHandle".length
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt
index 08a8217..2530628 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt
@@ -23,14 +23,12 @@
 import android.graphics.drawable.AnimatedVectorDrawable
 import android.graphics.drawable.Drawable
 import android.graphics.drawable.LayerDrawable
-import android.hardware.biometrics.BiometricFingerprintConstants
 import android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL
 import android.os.Bundle
 import android.text.TextUtils
 import android.util.Log
 import android.view.LayoutInflater
 import android.view.MotionEvent
-import android.view.Surface
 import android.view.View
 import android.view.ViewGroup
 import android.view.animation.AnimationUtils.loadInterpolator
@@ -41,7 +39,6 @@
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentActivity
 import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.Observer
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.lifecycleScope
@@ -511,6 +508,6 @@
             .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
             .setListener(onSkipClickListener)
             .setButtonType(FooterButton.ButtonType.SKIP)
-            .setTheme(R.style.SudGlifButton_Secondary)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
             .build()
 }
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt
index fbdfc81..7faeeac 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt
@@ -23,9 +23,7 @@
 import android.content.res.Configuration
 import android.graphics.PorterDuff
 import android.graphics.PorterDuffColorFilter
-import android.hardware.biometrics.BiometricFingerprintConstants
 import android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL
-import android.hardware.fingerprint.FingerprintManager.FINGERPRINT_ERROR_CANCELED
 import android.os.Bundle
 import android.util.Log
 import android.view.LayoutInflater
@@ -41,7 +39,6 @@
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentActivity
 import androidx.lifecycle.Lifecycle
-import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.Observer
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.lifecycleScope
@@ -62,8 +59,8 @@
 import com.google.android.setupdesign.GlifLayout
 import com.google.android.setupdesign.template.DescriptionMixin
 import com.google.android.setupdesign.template.HeaderMixin
-import kotlinx.coroutines.launch
 import kotlin.math.roundToInt
+import kotlinx.coroutines.launch
 
 /**
  * Fragment is used to handle enrolling process for sfps
@@ -83,7 +80,10 @@
         get() = _errorDialogViewModel!!
 
     private val fastOutSlowInInterpolator: Interpolator
-        get() = AnimationUtils.loadInterpolator(activity, R.interpolator.fast_out_slow_in)
+        get() = AnimationUtils.loadInterpolator(
+            activity,
+            androidx.appcompat.R.interpolator.fast_out_slow_in,
+        )
 
     private var enrollingView: GlifLayout? = null
 
@@ -604,7 +604,7 @@
         .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
         .setListener(onSkipClickListener)
         .setButtonType(FooterButton.ButtonType.SKIP)
-        .setTheme(R.style.SudGlifButton_Secondary)
+        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
         .build()
 
     view.findViewById<ProgressBar>(R.id.fingerprint_progress_bar)!!.progressBackgroundTintMode =
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt
index 34b491d..7e754ac 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt
@@ -121,7 +121,7 @@
 
     private val onSkipClickListener = View.OnClickListener { _: View? ->
         enrollingViewModel.setOnSkipPressed()
-        cancelEnrollment(false)
+        cancelEnrollment(true) // TODO Add test after b/273640000 fixed
     }
 
     private val progressObserver = Observer { progress: EnrollmentProgress? ->
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt
index ee5ca56..be24fc6 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt
@@ -16,7 +16,6 @@
 package com.android.settings.biometrics2.ui.view
 
 import android.content.Context
-import android.hardware.biometrics.BiometricFingerprintConstants
 import android.hardware.fingerprint.FingerprintManager.ENROLL_FIND_SENSOR
 import android.os.Bundle
 import android.util.Log
@@ -28,7 +27,6 @@
 import androidx.fragment.app.FragmentActivity
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LiveData
-import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.Observer
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.lifecycleScope
@@ -289,7 +287,7 @@
         FooterButton.Builder(this)
             .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
             .setButtonType(FooterButton.ButtonType.SKIP)
-            .setTheme(R.style.SudGlifButton_Secondary)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
             .build()
             .also {
                 it.setOnClickListener(onSkipClickListener)
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt
index ab31dbc..7455be1 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt
@@ -16,7 +16,6 @@
 package com.android.settings.biometrics2.ui.view
 
 import android.content.Context
-import android.hardware.biometrics.BiometricFingerprintConstants
 import android.hardware.fingerprint.FingerprintManager.ENROLL_FIND_SENSOR
 import android.os.Bundle
 import android.util.Log
@@ -29,7 +28,6 @@
 import androidx.fragment.app.FragmentActivity
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.LiveData
-import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.Observer
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.lifecycleScope
@@ -307,7 +305,7 @@
         it.secondaryButton = FooterButton.Builder(this)
             .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
             .setButtonType(FooterButton.ButtonType.SKIP)
-            .setTheme(R.style.SudGlifButton_Secondary)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
             .build()
         it.secondaryButton.setOnClickListener(onSkipClickListener)
     }
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt
index 9e936d2..3dce99c 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt
@@ -104,14 +104,14 @@
         it.secondaryButton = FooterButton.Builder(this)
             .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
             .setButtonType(FooterButton.ButtonType.SKIP)
-            .setTheme(R.style.SudGlifButton_Secondary)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
             .build()
         it.secondaryButton.setOnClickListener(onSkipClickListener)
 
         it.primaryButton = FooterButton.Builder(this)
             .setText(R.string.security_settings_udfps_enroll_find_sensor_start_button)
             .setButtonType(FooterButton.ButtonType.NEXT)
-            .setTheme(R.style.SudGlifButton_Primary)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
             .build()
         it.primaryButton.setOnClickListener(onStartClickListener)
     }
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt
index 2ae4764..2af2dee 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt
@@ -102,14 +102,14 @@
             )
             .setListener(nextButtonClickListener)
             .setButtonType(FooterButton.ButtonType.NEXT)
-            .setTheme(R.style.SudGlifButton_Primary)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
             .build()
         if (isAnotherFingerprintEnrollable) {
             footer.secondaryButton = FooterButton.Builder(this)
                 .setText(R.string.fingerprint_enroll_button_add)
                 .setListener(addButtonClickListener)
                 .setButtonType(FooterButton.ButtonType.SKIP)
-                .setTheme(R.style.SudGlifButton_Secondary)
+                .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                 .build()
         }
     }
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt
index 2ba1df1..4205225 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt
@@ -28,12 +28,15 @@
 import android.view.View
 import android.view.ViewGroup
 import android.widget.ImageView
+import android.widget.ScrollView
 import android.widget.TextView
 import androidx.annotation.StringRes
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.FragmentActivity
-import androidx.lifecycle.LiveData
+import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
 import com.android.settings.R
 import com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus
 import com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
@@ -47,6 +50,8 @@
 import com.google.android.setupdesign.util.DeviceHelper
 import com.google.android.setupdesign.util.DynamicColorPalette
 import com.google.android.setupdesign.util.DynamicColorPalette.ColorType.ACCENT
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.launch
 import java.util.function.Supplier
 
 /**
@@ -59,12 +64,7 @@
 
     private var _viewModel: FingerprintEnrollIntroViewModel? = null
     private val viewModel: FingerprintEnrollIntroViewModel
-        get() {
-            if (_viewModel == null) {
-                _viewModel = viewModelProvider[FingerprintEnrollIntroViewModel::class.java]
-            }
-            return _viewModel!!
-        }
+        get() = _viewModel!!
 
     private var introView: GlifLayout? = null
 
@@ -73,10 +73,18 @@
     private var secondaryFooterButton: FooterButton? = null
 
     private val onNextClickListener =
-        View.OnClickListener { _: View? -> viewModel.onNextButtonClick() }
+        View.OnClickListener { _: View? ->
+            activity?.lifecycleScope?.let {
+                viewModel.onNextButtonClick(it)
+            }
+        }
 
     private val onSkipOrCancelClickListener =
-        View.OnClickListener { _: View? -> viewModel.onSkipOrCancelButtonClick() }
+        View.OnClickListener { _: View? ->
+            activity?.lifecycleScope?.let {
+                viewModel.onSkipOrCancelButtonClick(it)
+            }
+        }
 
     override fun onCreateView(
         inflater: LayoutInflater,
@@ -95,7 +103,7 @@
         super.onViewCreated(view, savedInstanceState)
         requireActivity().bindFingerprintEnrollIntroView(
             view = introView!!,
-            canAssumeUdfps = viewModel.canAssumeUdfps(),
+            canAssumeUdfps = viewModel.canAssumeUdfps,
             isBiometricUnlockDisabledByAdmin = viewModel.isBiometricUnlockDisabledByAdmin,
             isParentalConsentRequired = viewModel.isParentalConsentRequired,
             descriptionDisabledByAdminSupplier = { getDescriptionDisabledByAdmin(view.context) }
@@ -105,9 +113,10 @@
     override fun onStart() {
         val context: Context = requireContext()
         val footerBarMixin: FooterBarMixin = footerBarMixin
+        viewModel.updateEnrollableStatus(lifecycleScope)
         initPrimaryFooterButton(context, footerBarMixin)
         initSecondaryFooterButton(context, footerBarMixin)
-        observePageStatusLiveDataIfNeed()
+        collectPageStatusFlowIfNeed()
         super.onStart()
     }
 
@@ -121,7 +130,7 @@
         primaryFooterButton = FooterButton.Builder(context)
             .setText(R.string.security_settings_fingerprint_enroll_introduction_agree)
             .setButtonType(FooterButton.ButtonType.OPT_IN)
-            .setTheme(R.style.SudGlifButton_Primary)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
             .build()
             .also {
                 it.setOnClickListener(onNextClickListener)
@@ -144,7 +153,7 @@
                     R.string.security_settings_fingerprint_enroll_introduction_no_thanks
             )
             .setButtonType(FooterButton.ButtonType.NEXT)
-            .setTheme(R.style.SudGlifButton_Primary)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
             .build()
             .also {
                 it.setOnClickListener(onSkipOrCancelClickListener)
@@ -152,46 +161,41 @@
             }
     }
 
-    private fun observePageStatusLiveDataIfNeed() {
-        val statusLiveData: LiveData<FingerprintEnrollIntroStatus> =
-            viewModel.pageStatusLiveData
-        val status: FingerprintEnrollIntroStatus? = statusLiveData.value
-
-        if (DEBUG) {
-            Log.e(
-                TAG, "observePageStatusLiveDataIfNeed() requireScrollWithButton, status:"
-                        + status
-            )
-        }
-
-        if (status != null && (status.hasScrollToBottom()
-                    || status.enrollableStatus === FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
-        ) {
-            // Update once and do not requireScrollWithButton() again when page has scrolled to
-            // bottom or User has enrolled at least a fingerprint, because if we
-            // requireScrollWithButton() again, primary button will become "More" after scrolling.
-            updateFooterButtons(status)
-            return
-        }
-
-        introView!!.getMixin(RequireScrollMixin::class.java).let {
-            it.requireScrollWithButton(
-                requireActivity(),
-                primaryFooterButton!!,
-                moreButtonTextRes,
-                onNextClickListener
-            )
-            it.setOnRequireScrollStateChangedListener { scrollNeeded: Boolean ->
-                viewModel.setHasScrolledToBottom(!scrollNeeded)
+    private fun collectPageStatusFlowIfNeed() {
+        lifecycleScope.launch {
+            val status = viewModel.pageStatusFlow.first()
+            Log.d(TAG, "collectPageStatusFlowIfNeed status:$status")
+            if (status.hasScrollToBottom()
+                || status.enrollableStatus === FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
+            ) {
+                // Update once and do not requireScrollWithButton() again when page has
+                // scrolled to bottom or User has enrolled at least a fingerprint, because if
+                // we requireScrollWithButton() again, primary button will become "More" after
+                // scrolling.
+                updateFooterButtons(status)
+            } else {
+                introView!!.getMixin(RequireScrollMixin::class.java).let {
+                    it.requireScrollWithButton(
+                        requireActivity(),
+                        primaryFooterButton!!,
+                        moreButtonTextRes,
+                        onNextClickListener
+                    )
+                    it.setOnRequireScrollStateChangedListener { scrollNeeded: Boolean ->
+                        viewModel.setHasScrolledToBottom(!scrollNeeded, lifecycleScope)
+                    }
+                }
+                repeatOnLifecycle(Lifecycle.State.STARTED) {
+                    viewModel.pageStatusFlow.collect(
+                        this@FingerprintEnrollIntroFragment::updateFooterButtons
+                    )
+                }
             }
         }
-        statusLiveData.observe(this) { newStatus: FingerprintEnrollIntroStatus ->
-            updateFooterButtons(newStatus)
-        }
     }
 
     override fun onAttach(context: Context) {
-        _viewModel = null
+        _viewModel = viewModelProvider[FingerprintEnrollIntroViewModel::class.java]
         super.onAttach(context)
     }
 
@@ -319,4 +323,7 @@
             )
         )
     }
+
+    view.findViewById<ScrollView>(R.id.sud_scroll_view)?.importantForAccessibility =
+        View.IMPORTANT_FOR_ACCESSIBILITY_YES
 }
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
index fa8a3fa..ec96597 100644
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
@@ -44,16 +44,13 @@
 import com.android.settings.biometrics.BiometricEnrollBase
 import com.android.settings.biometrics2.factory.BiometricsViewModelFactory
 import com.android.settings.biometrics2.factory.BiometricsViewModelFactory.CHALLENGE_GENERATOR_KEY
+import com.android.settings.biometrics2.factory.BiometricsViewModelFactory.CREDENTIAL_MODEL_KEY
 import com.android.settings.biometrics2.factory.BiometricsViewModelFactory.ENROLLMENT_REQUEST_KEY
-import com.android.settings.biometrics2.factory.BiometricsViewModelFactory.USER_ID_KEY
 import com.android.settings.biometrics2.ui.model.CredentialModel
 import com.android.settings.biometrics2.ui.model.EnrollmentRequest
 import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel
-import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK
-import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK
-import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_IS_GENERATING_CHALLENGE
-import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_VALID
 import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.FingerprintChallengeGenerator
+import com.android.settings.biometrics2.ui.viewmodel.CredentialAction
 import com.android.settings.biometrics2.ui.viewmodel.DeviceFoldedViewModel
 import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel
 import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE
@@ -71,11 +68,8 @@
 import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel.FINGERPRINT_ENROLL_FINISH_ACTION_ADD_BUTTON_CLICK
 import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel.FINGERPRINT_ENROLL_FINISH_ACTION_NEXT_BUTTON_CLICK
 import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFinishViewModel.FingerprintEnrollFinishAction
+import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction
 import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FingerprintEnrollIntroAction
 import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel
 import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollmentViewModel
 import com.android.settings.biometrics2.ui.viewmodel.FingerprintErrorDialogSetResultAction.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH
@@ -132,28 +126,21 @@
 
     private var isFirstFragmentAdded = false
 
-    private val introActionObserver: Observer<Int> = Observer<Int> { action ->
-        if (DEBUG) {
-            Log.d(TAG, "introActionObserver($action)")
-        }
-        action?.let { onIntroAction(it) }
-    }
-
-    private val findSensorActionObserver: Observer<Int> = Observer<Int> { action ->
+    private val findSensorActionObserver = Observer<Int?> { action ->
         if (DEBUG) {
             Log.d(TAG, "findSensorActionObserver($action)")
         }
         action?.let { onFindSensorAction(it) }
     }
 
-    private val enrollingActionObserver: Observer<Int> = Observer<Int> { action ->
+    private val enrollingActionObserver = Observer<Int?> { action ->
         if (DEBUG) {
             Log.d(TAG, "enrollingActionObserver($action)")
         }
         action?.let { onEnrollingAction(it) }
     }
 
-    private val finishActionObserver: Observer<Int> = Observer<Int> { action ->
+    private val finishActionObserver = Observer<Int?> { action ->
         if (DEBUG) {
             Log.d(TAG, "finishActionObserver($action)")
         }
@@ -170,7 +157,6 @@
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
-        autoCredentialViewModel.setCredentialModel(savedInstanceState, intent)
 
         // Theme
         setTheme(viewModel.request.theme)
@@ -219,15 +205,24 @@
             }
         }
 
-        // observe LiveData
-        viewModel.setResultLiveData.observe(this) {
-            result: ActivityResult -> onSetActivityResult(result)
-        }
-        autoCredentialViewModel.generateChallengeFailedLiveData.observe(this) {
-            _: Boolean -> onGenerateChallengeFailed()
-        }
+        collectFlows()
+    }
+
+    private fun collectFlows() {
         lifecycleScope.launch {
             repeatOnLifecycle(Lifecycle.State.STARTED) {
+                viewModel.setResultFlow.collect {
+                    Log.d(TAG, "setResultLiveData($it)")
+                    onSetActivityResult(it)
+                }
+            }
+            repeatOnLifecycle(Lifecycle.State.STARTED) {
+                autoCredentialViewModel.generateChallengeFailedFlow.collect {
+                    Log.d(TAG, "generateChallengeFailedFlow($it)")
+                    onSetActivityResult(ActivityResult(RESULT_CANCELED, null))
+                }
+            }
+            repeatOnLifecycle(Lifecycle.State.STARTED) {
                 errorDialogViewModel.newDialogFlow.collect {
                     Log.d(TAG, "newErrorDialogFlow($it)")
                     FingerprintEnrollErrorDialog.newInstance(it).show(
@@ -236,8 +231,6 @@
                     )
                 }
             }
-        }
-        lifecycleScope.launch {
             repeatOnLifecycle(Lifecycle.State.STARTED) {
                 errorDialogViewModel.setResultFlow.collect {
                     Log.d(TAG, "errorDialogSetResultFlow($it)")
@@ -266,10 +259,10 @@
             supportFragmentManager.beginTransaction()
                 .setReorderingAllowed(true)
                 .setCustomAnimations(
-                    R.anim.shared_x_axis_activity_open_enter_dynamic_color,
-                    R.anim.shared_x_axis_activity_open_exit,
-                    R.anim.shared_x_axis_activity_close_enter_dynamic_color,
-                    R.anim.shared_x_axis_activity_close_exit
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_enter_dynamic_color,
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_exit,
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_enter_dynamic_color,
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_exit
                 )
                 .replace(R.id.fragment_container_view, fragmentClass, null, tag)
                 .addToBackStack(tag)
@@ -287,12 +280,10 @@
         if (request.isSkipIntro || request.isSkipFindSensor) {
             return
         }
-        introViewModel.let {
-            // Clear ActionLiveData in FragmentViewModel to prevent getting previous action during
-            // recreate, like press 'Agree' then press 'back' in FingerprintEnrollFindSensor
-            // activity.
-            it.clearActionLiveData()
-            it.actionLiveData.observe(this, introActionObserver)
+        lifecycleScope.launch {
+            repeatOnLifecycle(Lifecycle.State.STARTED) {
+                introViewModel.actionFlow.collect(this@FingerprintEnrollmentActivity::onIntroAction)
+            }
         }
     }
 
@@ -353,10 +344,10 @@
             supportFragmentManager.beginTransaction()
                 .setReorderingAllowed(true)
                 .setCustomAnimations(
-                    R.anim.shared_x_axis_activity_open_enter_dynamic_color,
-                    R.anim.shared_x_axis_activity_open_exit,
-                    R.anim.shared_x_axis_activity_close_enter_dynamic_color,
-                    R.anim.shared_x_axis_activity_close_exit
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_enter_dynamic_color,
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_exit,
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_enter_dynamic_color,
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_exit
                 )
                 .replace(
                     R.id.fragment_container_view,
@@ -385,10 +376,10 @@
             supportFragmentManager.beginTransaction()
                 .setReorderingAllowed(true)
                 .setCustomAnimations(
-                    R.anim.shared_x_axis_activity_open_enter_dynamic_color,
-                    R.anim.shared_x_axis_activity_open_exit,
-                    R.anim.shared_x_axis_activity_close_enter_dynamic_color,
-                    R.anim.shared_x_axis_activity_close_exit
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_enter_dynamic_color,
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_open_exit,
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_enter_dynamic_color,
+                    com.google.android.setupdesign.R.anim.shared_x_axis_activity_close_exit
                 )
                 .replace(
                     R.id.fragment_container_view,
@@ -408,10 +399,6 @@
         }
     }
 
-    private fun onGenerateChallengeFailed() {
-        onSetActivityResult(ActivityResult(RESULT_CANCELED, null))
-    }
-
     private fun onSetActivityResult(result: ActivityResult) {
         val challengeExtras: Bundle? = autoCredentialViewModel.createGeneratingChallengeExtras()
         val overrideResult: ActivityResult = viewModel.getOverrideActivityResult(
@@ -428,8 +415,8 @@
     }
 
     private fun checkCredential() {
-        when (autoCredentialViewModel.checkCredential()) {
-            CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK -> {
+        when (autoCredentialViewModel.checkCredential(lifecycleScope)) {
+            CredentialAction.FAIL_NEED_TO_CHOOSE_LOCK -> {
                 val intent: Intent = autoCredentialViewModel.createChooseLockIntent(
                     this,
                     viewModel.request.isSuw,
@@ -442,7 +429,7 @@
                 return
             }
 
-            CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK -> {
+            CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK -> {
                 val launched: Boolean = autoCredentialViewModel.createConfirmLockLauncher(
                     this,
                     LAUNCH_CONFIRM_LOCK_ACTIVITY,
@@ -459,42 +446,42 @@
                 return
             }
 
-            CREDENTIAL_VALID,
-            CREDENTIAL_IS_GENERATING_CHALLENGE -> {}
+            CredentialAction.CREDENTIAL_VALID,
+            CredentialAction.IS_GENERATING_CHALLENGE -> {}
         }
     }
 
-    private fun onChooseOrConfirmLockResult(isChooseLock: Boolean, activityResult: ActivityResult) {
+    private fun onChooseOrConfirmLockResult(
+        isChooseLock: Boolean,
+        activityResult: ActivityResult
+    ) {
         if (!viewModel.isWaitingActivityResult.compareAndSet(true, false)) {
             Log.w(TAG, "isChooseLock:$isChooseLock, fail to unset waiting flag")
         }
-        if (autoCredentialViewModel.checkNewCredentialFromActivityResult(
-                isChooseLock, activityResult
+        if (!autoCredentialViewModel.generateChallengeAsCredentialActivityResult(
+                isChooseLock,
+                activityResult,
+                lifecycleScope
             )
         ) {
-            overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out)
-        } else {
             onSetActivityResult(activityResult)
         }
     }
 
-    private fun onIntroAction(@FingerprintEnrollIntroAction action: Int) {
+    private fun onIntroAction(action: FingerprintEnrollIntroAction) {
+        Log.d(TAG, "onIntroAction($action)")
         when (action) {
-            FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH -> {
-                onSetActivityResult(
-                    ActivityResult(BiometricEnrollBase.RESULT_FINISHED, null)
-                )
+            FingerprintEnrollIntroAction.DONE_AND_FINISH -> {
+                onSetActivityResult(ActivityResult(BiometricEnrollBase.RESULT_FINISHED, null))
                 return
             }
 
-            FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL -> {
-                onSetActivityResult(
-                    ActivityResult(BiometricEnrollBase.RESULT_SKIP, null)
-                )
+            FingerprintEnrollIntroAction.SKIP_OR_CANCEL -> {
+                onSetActivityResult(ActivityResult(BiometricEnrollBase.RESULT_SKIP, null))
                 return
             }
 
-            FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL -> {
+            FingerprintEnrollIntroAction.CONTINUE_ENROLL -> {
                 startFindSensorFragment()
             }
         }
@@ -573,7 +560,11 @@
 
     override fun onPause() {
         super.onPause()
-        viewModel.checkFinishActivityDuringOnPause(isFinishing, isChangingConfigurations)
+        viewModel.checkFinishActivityDuringOnPause(
+            isFinishing,
+            isChangingConfigurations,
+            lifecycleScope
+        )
     }
 
     override fun onDestroy() {
@@ -596,17 +587,14 @@
     }
 
     override val defaultViewModelCreationExtras: CreationExtras
-        get() {
-            val fingerprintRepository = featureFactory.biometricsRepositoryProvider
-                .getFingerprintRepository(application)!!
-            val credentialModel = CredentialModel(intent.extras, SystemClock.elapsedRealtimeClock())
-
-            return MutableCreationExtras(super.defaultViewModelCreationExtras).also {
-                it[CHALLENGE_GENERATOR_KEY] = FingerprintChallengeGenerator(fingerprintRepository)
-                it[ENROLLMENT_REQUEST_KEY] =
-                    EnrollmentRequest(intent, applicationContext, this is SetupActivity)
-                it[USER_ID_KEY] = credentialModel.userId
-            }
+        get() = MutableCreationExtras(super.defaultViewModelCreationExtras).also {
+            it[CHALLENGE_GENERATOR_KEY] = FingerprintChallengeGenerator(
+                featureFactory.biometricsRepositoryProvider.getFingerprintRepository(application)!!
+            )
+            it[ENROLLMENT_REQUEST_KEY] =
+                EnrollmentRequest(intent, applicationContext, this is SetupActivity)
+            it[CREDENTIAL_MODEL_KEY] =
+                CredentialModel(intent.extras, SystemClock.elapsedRealtimeClock())
         }
 
     override val defaultViewModelProviderFactory: ViewModelProvider.Factory
@@ -630,11 +618,6 @@
         super.onConfigurationChanged(newConfig)
     }
 
-    override fun onSaveInstanceState(outState: Bundle) {
-        super.onSaveInstanceState(outState)
-        autoCredentialViewModel.onSaveInstanceState(outState)
-    }
-
     companion object {
         private const val DEBUG = false
         private const val TAG = "FingerprintEnrollmentActivity"
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.java
deleted file mode 100644
index 7e48f82..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.java
+++ /dev/null
@@ -1,393 +0,0 @@
-/*
- * Copyright (C) 2022 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.biometrics2.ui.viewmodel;
-
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
-
-import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_CHALLENGE;
-import static com.android.settings.biometrics2.ui.model.CredentialModel.INVALID_GK_PW_HANDLE;
-import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
-
-import android.annotation.IntDef;
-import android.app.Activity;
-import android.app.Application;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.SystemClock;
-import android.util.Log;
-
-import androidx.activity.result.ActivityResult;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.internal.widget.VerifyCredentialResponse;
-import com.android.settings.biometrics.BiometricUtils;
-import com.android.settings.biometrics.BiometricUtils.GatekeeperCredentialNotMatchException;
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-import com.android.settings.biometrics2.ui.model.CredentialModel;
-import com.android.settings.password.ChooseLockGeneric;
-import com.android.settings.password.ChooseLockPattern;
-import com.android.settings.password.ChooseLockSettingsHelper;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * AutoCredentialViewModel which uses CredentialModel to determine next actions for activity, like
- * start ChooseLockActivity, start ConfirmLockActivity, GenerateCredential, or do nothing.
- */
-public class AutoCredentialViewModel extends AndroidViewModel {
-
-    private static final String TAG = "AutoCredentialViewModel";
-
-    @VisibleForTesting
-    static final String KEY_CREDENTIAL_MODEL = "credential_model";
-
-    @VisibleForTesting
-    static final String KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL =
-            "is_generating_challenge_during_checking_credential";
-
-    private static final boolean DEBUG = false;
-
-    /**
-     * Valid credential, activity does nothing.
-     */
-    public static final int CREDENTIAL_VALID = 0;
-
-    /**
-     * This credential looks good, but still need to run generateChallenge().
-     */
-    public static final int CREDENTIAL_IS_GENERATING_CHALLENGE = 1;
-
-    /**
-     * Need activity to run choose lock
-     */
-    public static final int CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK = 2;
-
-    /**
-     * Need activity to run confirm lock
-     */
-    public static final int CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK = 3;
-
-    @IntDef(prefix = { "CREDENTIAL_" }, value = {
-            CREDENTIAL_VALID,
-            CREDENTIAL_IS_GENERATING_CHALLENGE,
-            CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK,
-            CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface CredentialAction {}
-
-    /**
-     * Generic callback for FingerprintManager#generateChallenge or FaceManager#generateChallenge
-     */
-    public interface GenerateChallengeCallback {
-        /**
-         * Generic generateChallenge method for FingerprintManager or FaceManager
-         */
-        void onChallengeGenerated(int sensorId, int userId, long challenge);
-    }
-
-    /**
-     * A generic interface class for calling different generateChallenge from FingerprintManager or
-     * FaceManager
-     */
-    public interface ChallengeGenerator {
-        /**
-         * Get callback that will be called later after challenge generated
-         */
-        @Nullable
-        GenerateChallengeCallback getCallback();
-
-        /**
-         * Set callback that will be called later after challenge generated
-         */
-        void setCallback(@Nullable GenerateChallengeCallback callback);
-
-        /**
-         * Method for generating challenge from FingerprintManager or FaceManager
-         */
-        void generateChallenge(int userId);
-    }
-
-    /**
-     * Used to generate challenge through FingerprintRepository
-     */
-    public static class FingerprintChallengeGenerator implements ChallengeGenerator {
-
-        private static final String TAG = "FingerprintChallengeGenerator";
-
-        @NonNull
-        private final FingerprintRepository mFingerprintRepository;
-
-        @Nullable
-        private GenerateChallengeCallback mCallback = null;
-
-        public FingerprintChallengeGenerator(@NonNull FingerprintRepository fingerprintRepository) {
-            mFingerprintRepository = fingerprintRepository;
-        }
-
-        @Nullable
-        @Override
-        public GenerateChallengeCallback getCallback() {
-            return mCallback;
-        }
-
-        @Override
-        public void setCallback(@Nullable GenerateChallengeCallback callback) {
-            mCallback = callback;
-        }
-
-        @Override
-        public void generateChallenge(int userId) {
-            final GenerateChallengeCallback callback = mCallback;
-            if (callback == null) {
-                Log.e(TAG, "generateChallenge, null callback");
-                return;
-            }
-            mFingerprintRepository.generateChallenge(userId, callback::onChallengeGenerated);
-        }
-    }
-
-    @NonNull private final LockPatternUtils mLockPatternUtils;
-    @NonNull private final ChallengeGenerator mChallengeGenerator;
-    private CredentialModel mCredentialModel = null;
-    @NonNull private final MutableLiveData<Boolean> mGenerateChallengeFailedLiveData =
-            new MutableLiveData<>();
-
-    // flag if token is generating through checkCredential()'s generateChallenge()
-    private boolean mIsGeneratingChallengeDuringCheckingCredential;
-
-    public AutoCredentialViewModel(
-            @NonNull Application application,
-            @NonNull LockPatternUtils lockPatternUtils,
-            @NonNull ChallengeGenerator challengeGenerator) {
-        super(application);
-        mLockPatternUtils = lockPatternUtils;
-        mChallengeGenerator = challengeGenerator;
-    }
-
-    /**
-     * Set CredentialModel, the source is coming from savedInstanceState or activity intent
-     */
-    public void setCredentialModel(@Nullable Bundle savedInstanceState, @NonNull Intent intent) {
-        final Bundle bundle;
-        if (savedInstanceState != null) {
-            bundle = savedInstanceState.getBundle(KEY_CREDENTIAL_MODEL);
-            mIsGeneratingChallengeDuringCheckingCredential = savedInstanceState.getBoolean(
-                    KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL);
-        } else {
-            bundle = intent.getExtras();
-        }
-        mCredentialModel = new CredentialModel(bundle, SystemClock.elapsedRealtimeClock());
-
-        if (DEBUG) {
-            Log.d(TAG, "setCredentialModel " + mCredentialModel + ", savedInstanceState exist:"
-                    + (savedInstanceState != null));
-        }
-    }
-
-    /**
-     * Handle onSaveInstanceState from activity
-     */
-    public void onSaveInstanceState(@NonNull Bundle outState) {
-        outState.putBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL,
-                mIsGeneratingChallengeDuringCheckingCredential);
-        outState.putBundle(KEY_CREDENTIAL_MODEL, mCredentialModel.getBundle());
-    }
-
-    @NonNull
-    public LiveData<Boolean> getGenerateChallengeFailedLiveData() {
-        return mGenerateChallengeFailedLiveData;
-    }
-
-    /**
-     * Get bundle which passing back to FingerprintSettings for late generateChallenge()
-     */
-    @Nullable
-    public Bundle createGeneratingChallengeExtras() {
-        if (!mIsGeneratingChallengeDuringCheckingCredential
-                || !mCredentialModel.isValidToken()
-                || !mCredentialModel.isValidChallenge()) {
-            return null;
-        }
-
-        Bundle bundle = new Bundle();
-        bundle.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN,
-                mCredentialModel.getToken());
-        bundle.putLong(EXTRA_KEY_CHALLENGE, mCredentialModel.getChallenge());
-        return bundle;
-    }
-
-    /**
-     * Check credential status for biometric enrollment.
-     */
-    @CredentialAction
-    public int checkCredential() {
-        if (isValidCredential()) {
-            return CREDENTIAL_VALID;
-        }
-        if (isUnspecifiedPassword()) {
-            return CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK;
-        } else if (mCredentialModel.isValidGkPwHandle()) {
-            final long gkPwHandle = mCredentialModel.getGkPwHandle();
-            mCredentialModel.clearGkPwHandle();
-            // GkPwHandle is got through caller activity, we shall not revoke it after
-            // generateChallenge(). Let caller activity to make decision.
-            generateChallenge(gkPwHandle, false /* revokeGkPwHandle */);
-            mIsGeneratingChallengeDuringCheckingCredential = true;
-            return CREDENTIAL_IS_GENERATING_CHALLENGE;
-        } else {
-            return CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK;
-        }
-    }
-
-    private void generateChallenge(long gkPwHandle, boolean revokeGkPwHandle) {
-        mChallengeGenerator.setCallback((sensorId, userId, challenge) -> {
-            try {
-                final byte[] newToken = requestGatekeeperHat(gkPwHandle, challenge, userId);
-                mCredentialModel.setChallenge(challenge);
-                mCredentialModel.setToken(newToken);
-            } catch (IllegalStateException e) {
-                Log.e(TAG, "generateChallenge, IllegalStateException", e);
-                mGenerateChallengeFailedLiveData.postValue(true);
-                return;
-            }
-
-            if (revokeGkPwHandle) {
-                mLockPatternUtils.removeGatekeeperPasswordHandle(gkPwHandle);
-            }
-
-            if (DEBUG) {
-                Log.d(TAG, "generateChallenge(), model:" + mCredentialModel
-                        + ", revokeGkPwHandle:" + revokeGkPwHandle);
-            }
-
-            // Check credential again
-            if (!isValidCredential()) {
-                Log.w(TAG, "generateChallenge, invalid Credential");
-                mGenerateChallengeFailedLiveData.postValue(true);
-            }
-        });
-        mChallengeGenerator.generateChallenge(getUserId());
-    }
-
-    private boolean isValidCredential() {
-        return !isUnspecifiedPassword() && mCredentialModel.isValidToken();
-    }
-
-    private boolean isUnspecifiedPassword() {
-        return mLockPatternUtils.getActivePasswordQuality(getUserId())
-                == PASSWORD_QUALITY_UNSPECIFIED;
-    }
-
-    /**
-     * Handle activity result from ChooseLockGeneric, ConfirmLockPassword, or ConfirmLockPattern
-     * @param isChooseLock true if result is coming from ChooseLockGeneric. False if result is
-     *                     coming from ConfirmLockPassword or ConfirmLockPattern
-     * @param result activity result
-     * @return if it is a valid result
-     */
-    public boolean checkNewCredentialFromActivityResult(boolean isChooseLock,
-            @NonNull ActivityResult result) {
-        if ((isChooseLock && result.getResultCode() == ChooseLockPattern.RESULT_FINISHED)
-                || (!isChooseLock && result.getResultCode() == Activity.RESULT_OK)) {
-            final Intent data = result.getData();
-            if (data != null) {
-                final long gkPwHandle = result.getData().getLongExtra(
-                        EXTRA_KEY_GK_PW_HANDLE, INVALID_GK_PW_HANDLE);
-                // Revoke self requested GkPwHandle because it shall only used once inside this
-                // activity lifecycle.
-                generateChallenge(gkPwHandle, true /* revokeGkPwHandle */);
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Get userId for this credential
-     */
-    public int getUserId() {
-        return mCredentialModel.getUserId();
-    }
-
-    /**
-     * Get userId for this credential
-     */
-    @Nullable
-    public byte[] getToken() {
-        return mCredentialModel.getToken();
-    }
-
-    @Nullable
-    private byte[] requestGatekeeperHat(long gkPwHandle, long challenge, int userId)
-            throws IllegalStateException {
-        final VerifyCredentialResponse response = mLockPatternUtils
-                .verifyGatekeeperPasswordHandle(gkPwHandle, challenge, userId);
-        if (!response.isMatched()) {
-            throw new GatekeeperCredentialNotMatchException("Unable to request Gatekeeper HAT");
-        }
-        return response.getGatekeeperHAT();
-    }
-
-    /**
-     * Create Intent for choosing lock
-     */
-    @NonNull
-    public Intent createChooseLockIntent(@NonNull Context context, boolean isSuw,
-            @NonNull Bundle suwExtras) {
-        final Intent intent = BiometricUtils.getChooseLockIntent(context, isSuw,
-                suwExtras);
-        intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS,
-                true);
-        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, true);
-        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, true);
-
-        if (mCredentialModel.isValidUserId()) {
-            intent.putExtra(Intent.EXTRA_USER_ID, mCredentialModel.getUserId());
-        }
-        return intent;
-    }
-
-    /**
-     * Create ConfirmLockLauncher
-     */
-    @NonNull
-    public ChooseLockSettingsHelper createConfirmLockLauncher(@NonNull Activity activity,
-            int requestCode, @NonNull String title) {
-        final ChooseLockSettingsHelper.Builder builder =
-                new ChooseLockSettingsHelper.Builder(activity);
-        builder.setRequestCode(requestCode)
-                .setTitle(title)
-                .setRequestGatekeeperPasswordHandle(true)
-                .setForegroundOnly(true)
-                .setReturnCredentials(true);
-
-        if (mCredentialModel.isValidUserId()) {
-            builder.setUserId(mCredentialModel.getUserId());
-        }
-        return builder.build();
-    }
-
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt
new file mode 100644
index 0000000..95aee4b
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt
@@ -0,0 +1,283 @@
+/*
+ * 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.biometrics2.ui.viewmodel
+
+import android.app.Activity
+import android.app.Application
+import android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import android.util.Log
+import androidx.activity.result.ActivityResult
+import androidx.lifecycle.AndroidViewModel
+import com.android.internal.widget.LockPatternUtils
+import com.android.settings.biometrics.BiometricEnrollBase
+import com.android.settings.biometrics.BiometricUtils
+import com.android.settings.biometrics.BiometricUtils.GatekeeperCredentialNotMatchException
+import com.android.settings.biometrics2.data.repository.FingerprintRepository
+import com.android.settings.biometrics2.ui.model.CredentialModel
+import com.android.settings.password.ChooseLockGeneric
+import com.android.settings.password.ChooseLockPattern
+import com.android.settings.password.ChooseLockSettingsHelper
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.flow.SharedFlow
+import kotlinx.coroutines.flow.asSharedFlow
+import kotlinx.coroutines.launch
+
+/**
+ * AutoCredentialViewModel which uses CredentialModel to determine next actions for activity, like
+ * start ChooseLockActivity, start ConfirmLockActivity, GenerateCredential, or do nothing.
+ */
+class AutoCredentialViewModel(
+    application: Application,
+    private val lockPatternUtils: LockPatternUtils,
+    private val challengeGenerator: ChallengeGenerator,
+    private val credentialModel: CredentialModel
+) : AndroidViewModel(application) {
+
+    /**
+     * Generic callback for FingerprintManager#generateChallenge or FaceManager#generateChallenge
+     */
+    interface GenerateChallengeCallback {
+        /** Generic generateChallenge method for FingerprintManager or FaceManager */
+        fun onChallengeGenerated(sensorId: Int, userId: Int, challenge: Long)
+    }
+
+    /**
+     * A generic interface class for calling different generateChallenge from FingerprintManager or
+     * FaceManager
+     */
+    interface ChallengeGenerator {
+
+        /** Callback that will be called later after challenge generated */
+        var callback: GenerateChallengeCallback?
+
+        /** Method for generating challenge from FingerprintManager or FaceManager */
+        fun generateChallenge(userId: Int)
+    }
+
+    /** Used to generate challenge through FingerprintRepository */
+    class FingerprintChallengeGenerator(
+        private val fingerprintRepository: FingerprintRepository
+    ) : ChallengeGenerator {
+
+        override var callback: GenerateChallengeCallback? = null
+
+        override fun generateChallenge(userId: Int) {
+            callback?.let {
+                fingerprintRepository.generateChallenge(userId) {
+                        sensorId: Int, uid: Int, challenge: Long ->
+                    it.onChallengeGenerated(sensorId, uid, challenge)
+                }
+            } ?:run {
+                Log.e(TAG, "generateChallenge, null callback")
+            }
+        }
+
+        companion object {
+            private const val TAG = "FingerprintChallengeGenerator"
+        }
+    }
+
+    private val _generateChallengeFailedFlow = MutableSharedFlow<Boolean>()
+    val generateChallengeFailedFlow: SharedFlow<Boolean>
+        get() = _generateChallengeFailedFlow.asSharedFlow()
+
+
+    // flag if token is generating through checkCredential()'s generateChallenge()
+    private var isGeneratingChallengeDuringCheckingCredential = false
+
+    /** Get bundle which passing back to FingerprintSettings for late generateChallenge() */
+    fun createGeneratingChallengeExtras(): Bundle? {
+        if (!isGeneratingChallengeDuringCheckingCredential
+            || !credentialModel.isValidToken
+            || !credentialModel.isValidChallenge
+        ) {
+            return null
+        }
+        val bundle = Bundle()
+        bundle.putByteArray(
+            ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN,
+            credentialModel.token
+        )
+        bundle.putLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, credentialModel.challenge)
+        return bundle
+    }
+
+    /** Check credential status for biometric enrollment. */
+    fun checkCredential(scope: CoroutineScope): CredentialAction {
+        return if (isValidCredential) {
+            CredentialAction.CREDENTIAL_VALID
+        } else if (isUnspecifiedPassword) {
+            CredentialAction.FAIL_NEED_TO_CHOOSE_LOCK
+        } else if (credentialModel.isValidGkPwHandle) {
+            val gkPwHandle = credentialModel.gkPwHandle
+            credentialModel.clearGkPwHandle()
+            // GkPwHandle is got through caller activity, we shall not revoke it after
+            // generateChallenge(). Let caller activity to make decision.
+            generateChallenge(gkPwHandle, false, scope)
+            isGeneratingChallengeDuringCheckingCredential = true
+            CredentialAction.IS_GENERATING_CHALLENGE
+        } else {
+            CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK
+        }
+    }
+
+    private fun generateChallenge(
+        gkPwHandle: Long,
+        revokeGkPwHandle: Boolean,
+        scope: CoroutineScope
+    ) {
+        challengeGenerator.callback = object : GenerateChallengeCallback {
+            override fun onChallengeGenerated(sensorId: Int, userId: Int, challenge: Long) {
+                var illegalStateExceptionCaught = false
+                try {
+                    val newToken = requestGatekeeperHat(gkPwHandle, challenge, userId)
+                    credentialModel.challenge = challenge
+                    credentialModel.token = newToken
+                } catch (e: IllegalStateException) {
+                    Log.e(TAG, "generateChallenge, IllegalStateException", e)
+                    illegalStateExceptionCaught = true
+                } finally {
+                    if (revokeGkPwHandle) {
+                        lockPatternUtils.removeGatekeeperPasswordHandle(gkPwHandle)
+                    }
+                    Log.d(
+                        TAG,
+                        "generateChallenge(), model:$credentialModel"
+                                + ", revokeGkPwHandle:$revokeGkPwHandle"
+                    )
+                    // Check credential again
+                    if (!isValidCredential || illegalStateExceptionCaught) {
+                        Log.w(TAG, "generateChallenge, invalid Credential or IllegalStateException")
+                        scope.launch {
+                            _generateChallengeFailedFlow.emit(true)
+                        }
+                    }
+                }
+            }
+        }
+        challengeGenerator.generateChallenge(userId)
+    }
+
+    private val isValidCredential: Boolean
+        get() = !isUnspecifiedPassword && credentialModel.isValidToken
+
+    private val isUnspecifiedPassword: Boolean
+        get() = lockPatternUtils.getActivePasswordQuality(userId) == PASSWORD_QUALITY_UNSPECIFIED
+
+    /**
+     * Handle activity result from ChooseLockGeneric, ConfirmLockPassword, or ConfirmLockPattern
+     * @param isChooseLock true if result is coming from ChooseLockGeneric. False if result is
+     * coming from ConfirmLockPassword or ConfirmLockPattern
+     * @param result activity result
+     * @return if it is a valid result and viewModel is generating challenge
+     */
+    fun generateChallengeAsCredentialActivityResult(
+        isChooseLock: Boolean,
+        result: ActivityResult,
+        scope: CoroutineScope
+    ): Boolean {
+        if ((isChooseLock && result.resultCode == ChooseLockPattern.RESULT_FINISHED) ||
+            (!isChooseLock && result.resultCode == Activity.RESULT_OK)) {
+            result.data?.let {
+                val gkPwHandle = it.getLongExtra(
+                    ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
+                    CredentialModel.INVALID_GK_PW_HANDLE
+                )
+                // Revoke self requested GkPwHandle because it shall only used once inside this
+                // activity lifecycle.
+                generateChallenge(gkPwHandle, true, scope)
+                return true
+            }
+        }
+        return false
+    }
+
+    val userId: Int
+        get() = credentialModel.userId
+
+    val token: ByteArray?
+        get() = credentialModel.token
+
+    @Throws(IllegalStateException::class)
+    private fun requestGatekeeperHat(gkPwHandle: Long, challenge: Long, userId: Int): ByteArray? {
+        val response = lockPatternUtils
+            .verifyGatekeeperPasswordHandle(gkPwHandle, challenge, userId)
+        if (!response.isMatched) {
+            throw GatekeeperCredentialNotMatchException("Unable to request Gatekeeper HAT")
+        }
+        return response.gatekeeperHAT
+    }
+
+    /** Create Intent for choosing lock */
+    fun createChooseLockIntent(
+        context: Context, isSuw: Boolean,
+        suwExtras: Bundle
+    ): Intent {
+        val intent = BiometricUtils.getChooseLockIntent(
+            context, isSuw,
+            suwExtras
+        )
+        intent.putExtra(
+            ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS,
+            true
+        )
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, true)
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, true)
+        if (credentialModel.isValidUserId) {
+            intent.putExtra(Intent.EXTRA_USER_ID, credentialModel.userId)
+        }
+        return intent
+    }
+
+    /** Create ConfirmLockLauncher */
+    fun createConfirmLockLauncher(
+        activity: Activity,
+        requestCode: Int, title: String
+    ): ChooseLockSettingsHelper {
+        val builder = ChooseLockSettingsHelper.Builder(activity)
+        builder.setRequestCode(requestCode)
+            .setTitle(title)
+            .setRequestGatekeeperPasswordHandle(true)
+            .setForegroundOnly(true)
+            .setReturnCredentials(true)
+        if (credentialModel.isValidUserId) {
+            builder.setUserId(credentialModel.userId)
+        }
+        return builder.build()
+    }
+
+    companion object {
+        private const val TAG = "AutoCredentialViewModel"
+    }
+}
+
+enum class CredentialAction {
+
+    CREDENTIAL_VALID,
+
+    /** Valid credential, activity does nothing. */
+    IS_GENERATING_CHALLENGE,
+
+    /** This credential looks good, but still need to run generateChallenge(). */
+    FAIL_NEED_TO_CHOOSE_LOCK,
+
+    /** Need activity to run confirm lock */
+    FAIL_NEED_TO_CONFIRM_LOCK
+}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.java
deleted file mode 100644
index 5e9085a..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * Copyright (C) 2022 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.biometrics2.ui.viewmodel;
-
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX;
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_OK;
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_UNKNOWN;
-
-import android.annotation.IntDef;
-import android.app.Application;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MediatorLiveData;
-import androidx.lifecycle.MutableLiveData;
-
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest;
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus;
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollable;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Fingerprint intro onboarding page view model implementation
- */
-public class FingerprintEnrollIntroViewModel extends AndroidViewModel {
-
-    private static final String TAG = "FingerprintEnrollIntroViewModel";
-    private static final boolean HAS_SCROLLED_TO_BOTTOM_DEFAULT = false;
-    private static final FingerprintEnrollable ENROLLABLE_STATUS_DEFAULT =
-            FINGERPRINT_ENROLLABLE_UNKNOWN;
-
-    /**
-     * User clicks 'Done' button on this page
-     */
-    public static final int FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH = 0;
-
-    /**
-     * User clicks 'Agree' button on this page
-     */
-    public static final int FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL = 1;
-
-    /**
-     * User clicks 'Skip' button on this page
-     */
-    public static final int FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL = 2;
-
-    @IntDef(prefix = { "FINGERPRINT_ENROLL_INTRO_ACTION_" }, value = {
-            FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH,
-            FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL,
-            FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface FingerprintEnrollIntroAction {}
-
-    @NonNull private final FingerprintRepository mFingerprintRepository;
-
-    private final MutableLiveData<Boolean> mHasScrolledToBottomLiveData =
-            new MutableLiveData<>(HAS_SCROLLED_TO_BOTTOM_DEFAULT);
-    private final MutableLiveData<FingerprintEnrollable> mEnrollableStatusLiveData =
-            new MutableLiveData<>(ENROLLABLE_STATUS_DEFAULT);
-    private final MediatorLiveData<FingerprintEnrollIntroStatus> mPageStatusLiveData =
-            new MediatorLiveData<>();
-    private final MutableLiveData<Integer> mActionLiveData = new MutableLiveData<>();
-    private final int mUserId;
-    @NonNull private final EnrollmentRequest mRequest;
-
-    public FingerprintEnrollIntroViewModel(@NonNull Application application,
-            @NonNull FingerprintRepository fingerprintRepository,
-            @NonNull EnrollmentRequest request, int userId) {
-        super(application);
-        mFingerprintRepository = fingerprintRepository;
-        mRequest = request;
-        mUserId = userId;
-
-        mPageStatusLiveData.addSource(
-                mEnrollableStatusLiveData,
-                enrollable -> {
-                    final Boolean toBottomValue = mHasScrolledToBottomLiveData.getValue();
-                    final FingerprintEnrollIntroStatus status = new FingerprintEnrollIntroStatus(
-                            toBottomValue != null ? toBottomValue : HAS_SCROLLED_TO_BOTTOM_DEFAULT,
-                            enrollable);
-                    mPageStatusLiveData.setValue(status);
-                });
-        mPageStatusLiveData.addSource(
-                mHasScrolledToBottomLiveData,
-                hasScrolledToBottom -> {
-                    final FingerprintEnrollable enrollableValue =
-                            mEnrollableStatusLiveData.getValue();
-                    final FingerprintEnrollIntroStatus status = new FingerprintEnrollIntroStatus(
-                            hasScrolledToBottom,
-                            enrollableValue != null ? enrollableValue : ENROLLABLE_STATUS_DEFAULT);
-                    mPageStatusLiveData.setValue(status);
-                });
-    }
-
-    /**
-     * Get enrollment request
-     */
-    public EnrollmentRequest getRequest() {
-        return mRequest;
-    }
-
-    private void updateEnrollableStatus() {
-        final int num = mFingerprintRepository.getNumOfEnrolledFingerprintsSize(mUserId);
-        final int max =
-                mRequest.isSuw() && !mRequest.isAfterSuwOrSuwSuggestedAction()
-                ? mFingerprintRepository.getMaxFingerprintsInSuw(getApplication().getResources())
-                : mFingerprintRepository.getMaxFingerprints();
-        mEnrollableStatusLiveData.postValue(num >= max
-                ? FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-                : FINGERPRINT_ENROLLABLE_OK);
-    }
-
-    /**
-     * Get enrollable status and hasScrollToBottom live data
-     */
-    public LiveData<FingerprintEnrollIntroStatus> getPageStatusLiveData() {
-        updateEnrollableStatus();
-        return mPageStatusLiveData;
-    }
-
-    /**
-     * Clear user's action live data
-     */
-    public void clearActionLiveData() {
-        mActionLiveData.setValue(null);
-    }
-
-    /**
-     * Get user's action live data (like clicking Agree, Skip, or Done)
-     */
-    public LiveData<Integer> getActionLiveData() {
-        return mActionLiveData;
-    }
-
-    /**
-     * The first sensor type is UDFPS sensor or not
-     */
-    public boolean canAssumeUdfps() {
-        return mFingerprintRepository.canAssumeUdfps();
-    }
-
-    /**
-     * Update onboarding intro page has scrolled to bottom
-     */
-    public void setHasScrolledToBottom(boolean value) {
-        mHasScrolledToBottomLiveData.postValue(value);
-    }
-
-    /**
-     * Get parental consent required or not during enrollment process
-     */
-    public boolean isParentalConsentRequired() {
-        return mFingerprintRepository.isParentalConsentRequired(getApplication());
-    }
-
-    /**
-     * Get fingerprint is disable by admin or not
-     */
-    public boolean isBiometricUnlockDisabledByAdmin() {
-        return mFingerprintRepository.isDisabledByAdmin(getApplication(), mUserId);
-    }
-
-    /**
-     * User clicks next button
-     */
-    public void onNextButtonClick() {
-        final FingerprintEnrollable status = mEnrollableStatusLiveData.getValue();
-        switch (status != null ? status : ENROLLABLE_STATUS_DEFAULT) {
-            case FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX:
-                mActionLiveData.postValue(FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH);
-                break;
-            case FINGERPRINT_ENROLLABLE_OK:
-                mActionLiveData.postValue(FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL);
-                break;
-            default:
-                Log.w(TAG, "fail to click next, enrolled:" + status);
-        }
-    }
-
-    /**
-     * User clicks skip/cancel button
-     */
-    public void onSkipOrCancelButtonClick() {
-        mActionLiveData.postValue(FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.kt
new file mode 100644
index 0000000..98137b4
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.kt
@@ -0,0 +1,138 @@
+/*
+ * 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.biometrics2.ui.viewmodel
+
+import android.app.Application
+import android.util.Log
+import androidx.lifecycle.AndroidViewModel
+import com.android.settings.biometrics2.data.repository.FingerprintRepository
+import com.android.settings.biometrics2.ui.model.EnrollmentRequest
+import com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus
+import com.android.settings.biometrics2.ui.model.FingerprintEnrollable
+import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.CONTINUE_ENROLL
+import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.DONE_AND_FINISH
+import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.SKIP_OR_CANCEL
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.SharedFlow
+import kotlinx.coroutines.flow.asSharedFlow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.launch
+
+/** Fingerprint intro onboarding page view model implementation */
+class FingerprintEnrollIntroViewModel(
+    application: Application,
+    private val fingerprintRepository: FingerprintRepository,
+    val request: EnrollmentRequest,
+    private val userId: Int
+) : AndroidViewModel(application) {
+
+    /** User's action flow (like clicking Agree, Skip, or Done) */
+    private val _actionFlow = MutableSharedFlow<FingerprintEnrollIntroAction>()
+    val actionFlow: SharedFlow<FingerprintEnrollIntroAction>
+        get() = _actionFlow.asSharedFlow()
+
+    private fun getEnrollableStatus(): FingerprintEnrollable {
+        val num = fingerprintRepository.getNumOfEnrolledFingerprintsSize(userId)
+        val max =
+            if (request.isSuw && !request.isAfterSuwOrSuwSuggestedAction)
+                fingerprintRepository.getMaxFingerprintsInSuw(
+                    getApplication<Application>().resources
+                )
+            else
+                fingerprintRepository.maxFingerprints
+        return if (num >= max)
+            FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
+        else
+            FingerprintEnrollable.FINGERPRINT_ENROLLABLE_OK
+    }
+
+    private val hasScrolledToBottomFlow = MutableStateFlow(HAS_SCROLLED_TO_BOTTOM_DEFAULT)
+    private val enrollableStatusFlow = MutableStateFlow(getEnrollableStatus())
+
+    /** Enrollable status and hasScrollToBottom live data */
+    val pageStatusFlow: Flow<FingerprintEnrollIntroStatus> =
+        hasScrolledToBottomFlow.combine(enrollableStatusFlow) {
+            hasScrolledToBottom: Boolean, enrollableStatus: FingerprintEnrollable ->
+            FingerprintEnrollIntroStatus(hasScrolledToBottom, enrollableStatus)
+        }
+
+    fun updateEnrollableStatus(scope: CoroutineScope) {
+        scope.launch {
+            enrollableStatusFlow.emit(getEnrollableStatus())
+        }
+    }
+
+    /** The first sensor type is UDFPS sensor or not */
+    val canAssumeUdfps: Boolean
+        get() = fingerprintRepository.canAssumeUdfps()
+
+    /** Update onboarding intro page has scrolled to bottom */
+    fun setHasScrolledToBottom(value: Boolean, scope: CoroutineScope) {
+        scope.launch {
+            hasScrolledToBottomFlow.emit(value)
+        }
+    }
+
+    /** Get parental consent required or not during enrollment process */
+    val isParentalConsentRequired: Boolean
+        get() = fingerprintRepository.isParentalConsentRequired(getApplication())
+
+    /** Get fingerprint is disable by admin or not */
+    val isBiometricUnlockDisabledByAdmin: Boolean
+        get() = fingerprintRepository.isDisabledByAdmin(getApplication(), userId)
+
+    /**
+     * User clicks next button
+     */
+    fun onNextButtonClick(scope: CoroutineScope) {
+        scope.launch {
+            when (val status = enrollableStatusFlow.value) {
+                FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX ->
+                    _actionFlow.emit(DONE_AND_FINISH)
+
+                FingerprintEnrollable.FINGERPRINT_ENROLLABLE_OK ->
+                    _actionFlow.emit(CONTINUE_ENROLL)
+
+                else -> Log.w(TAG, "fail to click next, enrolled:$status")
+            }
+        }
+    }
+
+    /** User clicks skip/cancel button */
+    fun onSkipOrCancelButtonClick(scope: CoroutineScope) {
+        scope.launch {
+            _actionFlow.emit(SKIP_OR_CANCEL)
+        }
+    }
+
+    companion object {
+        private const val TAG = "FingerprintEnrollIntroViewModel"
+        private const val HAS_SCROLLED_TO_BOTTOM_DEFAULT = false
+        private val ENROLLABLE_STATUS_DEFAULT = FingerprintEnrollable.FINGERPRINT_ENROLLABLE_UNKNOWN
+    }
+}
+
+enum class FingerprintEnrollIntroAction {
+    /** User clicks 'Done' button on this page */
+    DONE_AND_FINISH,
+    /** User clicks 'Agree' button on this page */
+    CONTINUE_ENROLL,
+    /** User clicks 'Skip' button on this page */
+    SKIP_OR_CANCEL
+}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt
index 33e1bb6..37b0052 100644
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt
@@ -23,8 +23,6 @@
 import android.util.Log
 import androidx.activity.result.ActivityResult
 import androidx.lifecycle.AndroidViewModel
-import androidx.lifecycle.LiveData
-import androidx.lifecycle.MutableLiveData
 import com.android.settings.biometrics.BiometricEnrollBase
 import com.android.settings.biometrics.fingerprint.FingerprintEnrollFinish.FINGERPRINT_SUGGESTION_ACTIVITY
 import com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollIntroduction
@@ -32,6 +30,11 @@
 import com.android.settings.biometrics2.ui.model.EnrollmentRequest
 import kotlinx.atomicfu.AtomicBoolean
 import kotlinx.atomicfu.atomic
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.flow.SharedFlow
+import kotlinx.coroutines.flow.asSharedFlow
+import kotlinx.coroutines.launch
 
 /**
  * Fingerprint enrollment view model implementation
@@ -44,9 +47,9 @@
 
     val isWaitingActivityResult: AtomicBoolean = atomic(false)
 
-    private val _setResultLiveData = MutableLiveData<ActivityResult>()
-    val setResultLiveData: LiveData<ActivityResult>
-        get() = _setResultLiveData
+    private val _setResultFlow = MutableSharedFlow<ActivityResult>()
+    val setResultFlow: SharedFlow<ActivityResult>
+        get() = _setResultFlow.asSharedFlow()
 
     var isNewFingerprintAdded = false
         set(value) {
@@ -94,16 +97,17 @@
      */
     fun checkFinishActivityDuringOnPause(
         isActivityFinishing: Boolean,
-        isChangingConfigurations: Boolean
+        isChangingConfigurations: Boolean,
+        scope: CoroutineScope
     ) {
         if (isChangingConfigurations || isActivityFinishing || request.isSuw
             || isWaitingActivityResult.value
         ) {
             return
         }
-        _setResultLiveData.postValue(
-            ActivityResult(BiometricEnrollBase.RESULT_TIMEOUT, null)
-        )
+        scope.launch {
+            _setResultFlow.emit(ActivityResult(BiometricEnrollBase.RESULT_TIMEOUT, null))
+        }
     }
 
     /**
@@ -133,23 +137,23 @@
      * Update FINGERPRINT_SUGGESTION_ACTIVITY into package manager
      */
     fun updateFingerprintSuggestionEnableState(userId: Int) {
-        val enrolled = fingerprintRepository.getNumOfEnrolledFingerprintsSize(userId)
         // Only show "Add another fingerprint" if the user already enrolled one.
         // "Add fingerprint" will be shown in the main flow if the user hasn't enrolled any
         // fingerprints. If the user already added more than one fingerprint, they already know
         // to add multiple fingerprints so we don't show the suggestion.
+        val state = if (fingerprintRepository.getNumOfEnrolledFingerprintsSize(userId) == 1)
+            PackageManager.COMPONENT_ENABLED_STATE_ENABLED
+        else
+            PackageManager.COMPONENT_ENABLED_STATE_DISABLED
         getApplication<Application>().packageManager.setComponentEnabledSetting(
             ComponentName(
                 getApplication(),
                 FINGERPRINT_SUGGESTION_ACTIVITY
             ),
-            if (enrolled == 1)
-                PackageManager.COMPONENT_ENABLED_STATE_ENABLED
-            else
-                PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
+            state,
             PackageManager.DONT_KILL_APP
         )
-        Log.d(TAG, "$FINGERPRINT_SUGGESTION_ACTIVITY enabled state = ${enrolled == 1}")
+        Log.d(TAG, "$FINGERPRINT_SUGGESTION_ACTIVITY enabled state: $state")
     }
 
     companion object {
diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
index ebaa2fa..dca005b 100644
--- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
@@ -267,7 +267,7 @@
     Drawable createBtBatteryIcon(Context context, int level, boolean charging) {
         final BatteryMeterView.BatteryMeterDrawable drawable =
                 new BatteryMeterView.BatteryMeterDrawable(context,
-                        context.getColor(R.color.meter_background_color),
+                        context.getColor(com.android.settingslib.R.color.meter_background_color),
                         context.getResources().getDimensionPixelSize(
                                 R.dimen.advanced_bluetooth_battery_meter_width),
                         context.getResources().getDimensionPixelSize(
diff --git a/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java b/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java
index 7fa63b0..13f056d 100644
--- a/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java
@@ -113,7 +113,7 @@
         });
 
         mAlertDialog = new AlertDialog.Builder(mContext,
-                com.android.settingslib.R.style.Theme_AlertDialog_SettingsLib)
+                com.android.settingslib.widget.R.style.Theme_AlertDialog_SettingsLib)
             .setView(layout)
             .create();
 
diff --git a/src/com/android/settings/bluetooth/BluetoothBroadcastSourcePreference.java b/src/com/android/settings/bluetooth/BluetoothBroadcastSourcePreference.java
index 9904e8b..6ec356e 100644
--- a/src/com/android/settings/bluetooth/BluetoothBroadcastSourcePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothBroadcastSourcePreference.java
@@ -42,7 +42,8 @@
 class BluetoothBroadcastSourcePreference extends Preference {
 
     private static final int RESOURCE_ID_UNKNOWN_PROGRAM_INFO = R.string.device_info_default;
-    private static final int RESOURCE_ID_ICON = R.drawable.settings_input_antenna;
+    private static final int RESOURCE_ID_ICON =
+            com.android.settingslib.R.drawable.settings_input_antenna;
 
     private BluetoothLeBroadcastMetadata mBluetoothLeBroadcastMetadata;
     private BluetoothLeBroadcastReceiveState mBluetoothLeBroadcastReceiveState;
@@ -59,16 +60,19 @@
     @Override
     public void onBindViewHolder(final PreferenceViewHolder view) {
         super.onBindViewHolder(view);
-        view.findViewById(R.id.two_target_divider).setVisibility(View.INVISIBLE);
-        final ImageButton imageButton = (ImageButton) view.findViewById(R.id.icon_button);
+        view.findViewById(com.android.settingslib.widget.R.id.two_target_divider)
+                .setVisibility(View.INVISIBLE);
+        final ImageButton imageButton =
+                (ImageButton) view.findViewById(com.android.settingslib.R.id.icon_button);
         imageButton.setVisibility(View.GONE);
-        mFrictionImageView = (ImageView) view.findViewById(R.id.friction_icon);
+        mFrictionImageView =
+                (ImageView) view.findViewById(com.android.settingslib.R.id.friction_icon);
         updateStatusButton();
     }
 
     private void initUi() {
-        setLayoutResource(R.layout.preference_access_point);
-        setWidgetLayoutResource(R.layout.access_point_friction_widget);
+        setLayoutResource(com.android.settingslib.R.layout.preference_access_point);
+        setWidgetLayoutResource(com.android.settingslib.R.layout.access_point_friction_widget);
         mTitle = getContext().getString(RESOURCE_ID_UNKNOWN_PROGRAM_INFO);
         mStatus = false;
         final Drawable drawable = getContext().getDrawable(RESOURCE_ID_ICON);
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
index e3f0f09..ad65ce4 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
@@ -185,7 +185,7 @@
     public void updatePreferences(Context context,
             String address, PreferenceCategory container) {
         // If the device is FastPair, remove CDM companion apps.
-        final BluetoothFeatureProvider bluetoothFeatureProvider = FeatureFactory.getFactory(context)
+        final BluetoothFeatureProvider bluetoothFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getBluetoothFeatureProvider();
         final boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
                 SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsController.java
index 5444f68..3338fe9 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsController.java
@@ -51,7 +51,7 @@
         mFragment = fragment;
         mCachedDevice = device;
         lifecycle.addObserver(this);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
index d80512e..9943013 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
@@ -59,6 +59,12 @@
                 title.append("\n").append(member.getIdentityAddress());
             }
             mFooterPreference.setTitle(title);
+        } else if (mCachedDevice.getSubDevice() != null) {
+            StringBuilder title = new StringBuilder(mContext.getString(
+                    R.string.bluetooth_multuple_devices_mac_address,
+                    mCachedDevice.getIdentityAddress()));
+            title.append("\n").append(mCachedDevice.getSubDevice().getIdentityAddress());
+            mFooterPreference.setTitle(title);
         } else {
             mFooterPreference.setTitle(mContext.getString(
                     R.string.bluetooth_device_mac_address, mCachedDevice.getIdentityAddress()));
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index ba2786e..555868b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -89,7 +89,7 @@
         mManager = manager;
         mProfileManager = mManager.getProfileManager();
         mCachedDevice = device;
-        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mContext, mCachedDevice);
+        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mManager, mCachedDevice);
         lifecycle.addObserver(this);
     }
 
@@ -156,6 +156,7 @@
         } else if (profile instanceof PbapServerProfile) {
             profilePref.setChecked(device.getPhonebookAccessPermission()
                     == BluetoothDevice.ACCESS_ALLOWED);
+            profilePref.setSummary(profile.getSummaryResourceForDevice(mCachedDevice.getDevice()));
         } else if (profile instanceof PanProfile) {
             profilePref.setChecked(profile.getConnectionStatus(device) ==
                     BluetoothProfile.STATE_CONNECTED);
@@ -481,7 +482,7 @@
         for (CachedBluetoothDevice item : mAllOfCachedDevices) {
             item.unregisterCallback(this);
         }
-        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mContext, mCachedDevice);
+        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mManager, mCachedDevice);
         for (CachedBluetoothDevice item : mAllOfCachedDevices) {
             item.registerCallback(this);
         }
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsRelatedToolsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsRelatedToolsController.java
index bfaea85..dc5a91a 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsRelatedToolsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsRelatedToolsController.java
@@ -75,8 +75,8 @@
             mPreferenceCategory.removePreference(liveCaptionPreference);
         }
 
-        final List<ComponentName> relatedToolsList = FeatureFactory.getFactory(
-                mContext).getBluetoothFeatureProvider().getRelatedTools();
+        final List<ComponentName> relatedToolsList =
+                FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider().getRelatedTools();
         if (!CollectionUtils.isEmpty(relatedToolsList)) {
             addAccessibilityInstalledRelatedPreference(relatedToolsList);
         }
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index 99f3e31..534cc61 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -173,8 +173,8 @@
         use(LeAudioBluetoothDetailsHeaderController.class).init(mCachedDevice, mManager);
         use(KeyboardSettingsPreferenceController.class).init(mCachedDevice);
 
-        final BluetoothFeatureProvider featureProvider = FeatureFactory.getFactory(
-                context).getBluetoothFeatureProvider();
+        final BluetoothFeatureProvider featureProvider =
+                FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider();
         final boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
                 SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
 
@@ -184,8 +184,8 @@
     }
 
     private void updateExtraControlUri(int viewWidth) {
-        BluetoothFeatureProvider featureProvider = FeatureFactory.getFactory(
-                getContext()).getBluetoothFeatureProvider();
+        BluetoothFeatureProvider featureProvider =
+                FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider();
         boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
                 SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
         Uri controlUri = null;
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java b/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java
index f2bc6fc..67c32ed 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java
@@ -99,8 +99,8 @@
             return;
         } else if (bondState == BluetoothDevice.BOND_BONDING) {
             // Set the bond entry where binding process starts for logging hearing aid device info
-            final int pageId = FeatureFactory.getFactory(
-                    getContext()).getMetricsFeatureProvider().getAttribution(getActivity());
+            final int pageId = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
+                    .getAttribution(getActivity());
             final int bondEntry = AccessibilityStatsLogUtils.convertToHearingAidInfoBondEntry(
                     pageId);
             HearingAidStatsLogUtils.setBondEntryForDevice(bondEntry, cachedDevice);
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
index 039080b..014a02b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
@@ -334,7 +334,7 @@
         int bondState = mCachedDevice.getBondState();
 
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         if (mCachedDevice.isConnected()) {
             metricsFeatureProvider.action(context,
@@ -378,7 +378,7 @@
     private void pair() {
         if (!mCachedDevice.startPairing()) {
             Utils.showError(getContext(), mCachedDevice.getName(),
-                    R.string.bluetooth_pairing_error_message);
+                    com.android.settingslib.R.string.bluetooth_pairing_error_message);
         }
     }
 
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java b/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java
index e8751dc..4c70b95 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java
@@ -38,7 +38,7 @@
      */
     public BluetoothDeviceRenamePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
index 2935c67..59aa418 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
@@ -82,7 +82,7 @@
         mPreferenceMap = new HashMap<>();
         mLocalManager = localManager;
         mMetricsCategory = metricsCategory;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     /**
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
index e11c275..a3f9bd4 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
@@ -33,6 +33,7 @@
 import android.widget.Button;
 import android.widget.CheckBox;
 import android.widget.EditText;
+import android.widget.Switch;
 import android.widget.TextView;
 
 import androidx.annotation.VisibleForTesting;
@@ -300,8 +301,10 @@
         mBuilder.setTitle(getString(R.string.bluetooth_pairing_request,
                 mPairingController.getDeviceName()));
         mBuilder.setView(createView());
-        mBuilder.setPositiveButton(getString(R.string.bluetooth_pairing_accept), this);
-        mBuilder.setNegativeButton(getString(R.string.bluetooth_pairing_decline), this);
+        mBuilder.setPositiveButton(
+                getString(com.android.settingslib.R.string.bluetooth_pairing_accept), this);
+        mBuilder.setNegativeButton(
+                getString(com.android.settingslib.R.string.bluetooth_pairing_decline), this);
         AlertDialog dialog = mBuilder.create();
         return dialog;
     }
@@ -339,11 +342,9 @@
         TextView pairingViewCaption = (TextView) view.findViewById(R.id.pairing_caption);
         TextView pairingViewContent = (TextView) view.findViewById(R.id.pairing_subhead);
         TextView messagePairing = (TextView) view.findViewById(R.id.pairing_code_message);
-        CheckBox contactSharing = (CheckBox) view.findViewById(
+        Switch contactSharing = (Switch) view.findViewById(
                 R.id.phonebook_sharing_message_confirm_pin);
-        contactSharing.setText(getString(R.string.bluetooth_pairing_shares_phonebook));
-
-        contactSharing.setVisibility(
+        view.findViewById(R.id.phonebook_sharing).setVisibility(
                 mPairingController.isContactSharingVisible() ? View.VISIBLE : View.GONE);
         mPairingController.setContactSharingState();
         contactSharing.setChecked(mPairingController.getContactSharingState());
diff --git a/src/com/android/settings/bluetooth/BluetoothSummaryUpdater.java b/src/com/android/settings/bluetooth/BluetoothSummaryUpdater.java
index 6e82649..4587fba 100644
--- a/src/com/android/settings/bluetooth/BluetoothSummaryUpdater.java
+++ b/src/com/android/settings/bluetooth/BluetoothSummaryUpdater.java
@@ -80,9 +80,9 @@
             case BluetoothAdapter.STATE_CONNECTED:
                 return getConnectedDeviceSummary();
             case BluetoothAdapter.STATE_CONNECTING:
-                return mContext.getString(R.string.bluetooth_connecting);
+                return mContext.getString(com.android.settingslib.R.string.bluetooth_connecting);
             case BluetoothAdapter.STATE_DISCONNECTING:
-                return mContext.getString(R.string.bluetooth_disconnecting);
+                return mContext.getString(com.android.settingslib.R.string.bluetooth_disconnecting);
             default:
                 return mContext.getString(R.string.disconnected);
         }
diff --git a/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
index 5c3af9b..6fd5070 100644
--- a/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
@@ -68,7 +68,7 @@
 
         mBluetoothEnabler = new BluetoothEnabler(context,
                 switchController,
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider(),
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(),
                 SettingsEnums.ACTION_SETTINGS_MASTER_SWITCH_BLUETOOTH_TOGGLE,
                 mRestrictionUtils);
         mBluetoothEnabler.setToggleCallback(this);
diff --git a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
index e30bbfb..a64874d 100644
--- a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
@@ -88,6 +88,7 @@
 
     @VisibleForTesting
     LayoutPreference mLayoutPreference;
+    LocalBluetoothManager mManager;
     private CachedBluetoothDevice mCachedDevice;
     private List<CachedBluetoothDevice> mAllOfCachedDevices;
     @VisibleForTesting
@@ -152,8 +153,9 @@
     public void init(CachedBluetoothDevice cachedBluetoothDevice,
             LocalBluetoothManager bluetoothManager) {
         mCachedDevice = cachedBluetoothDevice;
+        mManager = bluetoothManager;
         mProfileManager = bluetoothManager.getProfileManager();
-        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mContext, mCachedDevice);
+        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mManager, mCachedDevice);
     }
 
     @VisibleForTesting
@@ -190,7 +192,7 @@
     Drawable createBtBatteryIcon(Context context, int level) {
         final BatteryMeterView.BatteryMeterDrawable drawable =
                 new BatteryMeterView.BatteryMeterDrawable(context,
-                        context.getColor(R.color.meter_background_color),
+                        context.getColor(com.android.settingslib.R.color.meter_background_color),
                         context.getResources().getDimensionPixelSize(
                                 R.dimen.advanced_bluetooth_battery_meter_width),
                         context.getResources().getDimensionPixelSize(
@@ -285,7 +287,8 @@
                     com.android.settings.Utils.formatPercentage(batteryLevel);
             batterySummaryView.setText(batteryLevelPercentageString);
             batterySummaryView.setContentDescription(mContext.getString(
-                    R.string.bluetooth_battery_level, batteryLevelPercentageString));
+                    com.android.settingslib.R.string.bluetooth_battery_level,
+                    batteryLevelPercentageString));
             batterySummaryView.setCompoundDrawablesRelativeWithIntrinsicBounds(
                     createBtBatteryIcon(mContext, batteryLevel), /* top */ null,
                     /* end */ null, /* bottom */ null);
@@ -300,7 +303,7 @@
         for (CachedBluetoothDevice item : mAllOfCachedDevices) {
             item.unregisterCallback(this);
         }
-        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mContext, mCachedDevice);
+        mAllOfCachedDevices = Utils.getAllOfCachedBluetoothDevices(mManager, mCachedDevice);
         for (CachedBluetoothDevice item : mAllOfCachedDevices) {
             item.registerCallback(this);
         }
diff --git a/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java b/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java
index 4af75ad..30e5c7b 100644
--- a/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java
+++ b/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java
@@ -42,8 +42,8 @@
 
         int defaultTheme =
                 ThemeHelper.isSetupWizardDayNightEnabled(this)
-                        ? R.style.SudThemeGlifV3_DayNight
-                        : R.style.SudThemeGlifV3_Light;
+                        ? com.google.android.setupdesign.R.style.SudThemeGlifV3_DayNight
+                        : com.google.android.setupdesign.R.style.SudThemeGlifV3_Light;
         ThemeResolver themeResolver =
                 new ThemeResolver.Builder(ThemeResolver.getDefault())
                         .setDefaultTheme(defaultTheme)
diff --git a/src/com/android/settings/bluetooth/Utils.java b/src/com/android/settings/bluetooth/Utils.java
index 79a2de0..f8c033c 100644
--- a/src/com/android/settings/bluetooth/Utils.java
+++ b/src/com/android/settings/bluetooth/Utils.java
@@ -67,13 +67,13 @@
     public static int getConnectionStateSummary(int connectionState) {
         switch (connectionState) {
             case BluetoothProfile.STATE_CONNECTED:
-                return R.string.bluetooth_connected;
+                return com.android.settingslib.R.string.bluetooth_connected;
             case BluetoothProfile.STATE_CONNECTING:
-                return R.string.bluetooth_connecting;
+                return com.android.settingslib.R.string.bluetooth_connecting;
             case BluetoothProfile.STATE_DISCONNECTED:
-                return R.string.bluetooth_disconnected;
+                return com.android.settingslib.R.string.bluetooth_disconnected;
             case BluetoothProfile.STATE_DISCONNECTING:
-                return R.string.bluetooth_disconnecting;
+                return com.android.settingslib.R.string.bluetooth_disconnecting;
             default:
                 return 0;
         }
@@ -106,7 +106,7 @@
 
     @VisibleForTesting
     static void showConnectingError(Context context, String name, LocalBluetoothManager manager) {
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider().visible(context,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().visible(context,
                 SettingsEnums.PAGE_UNKNOWN, SettingsEnums.ACTION_SETTINGS_BLUETOOTH_CONNECT_ERROR,
                 0);
         showError(context, name, R.string.bluetooth_connecting_error_message, manager);
@@ -235,7 +235,8 @@
      * @param cachedBluetoothDevice The main cachedBluetoothDevice.
      * @return all cachedBluetoothDevices with the same groupId.
      */
-    public static List<CachedBluetoothDevice> getAllOfCachedBluetoothDevices(Context context,
+    public static List<CachedBluetoothDevice> getAllOfCachedBluetoothDevices(
+            LocalBluetoothManager localBtMgr,
             CachedBluetoothDevice cachedBluetoothDevice) {
         List<CachedBluetoothDevice> cachedBluetoothDevices = new ArrayList<>();
         if (cachedBluetoothDevice == null) {
@@ -248,7 +249,6 @@
             return cachedBluetoothDevices;
         }
 
-        final LocalBluetoothManager localBtMgr = Utils.getLocalBtManager(context);
         if (localBtMgr == null) {
             Log.e(TAG, "getAllOfCachedBluetoothDevices: no LocalBluetoothManager");
             return cachedBluetoothDevices;
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
index f7517b4..5be761e 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
@@ -180,7 +180,7 @@
     public void init(DashboardFragment fragment) {
         final Context context = fragment.getContext();
         DockUpdaterFeatureProvider dockUpdaterFeatureProvider =
-                FeatureFactory.getFactory(context).getDockUpdaterFeatureProvider();
+                FeatureFactory.getFeatureFactory().getDockUpdaterFeatureProvider();
         final DockUpdater connectedDockUpdater =
                 dockUpdaterFeatureProvider.getConnectedDockUpdater(context, this);
         init(hasBluetoothFeature()
diff --git a/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java b/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java
index 5c906fd..7a2ae04 100644
--- a/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java
@@ -78,8 +78,8 @@
     public PreviouslyConnectedDevicePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
 
-        mSavedDockUpdater = FeatureFactory.getFactory(
-                context).getDockUpdaterFeatureProvider().getSavedDockUpdater(context, this);
+        mSavedDockUpdater = FeatureFactory.getFeatureFactory().getDockUpdaterFeatureProvider()
+                .getSavedDockUpdater(context, this);
         mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
     }
diff --git a/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java b/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java
index 3034e2f..fb35dd9 100644
--- a/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java
@@ -54,7 +54,7 @@
         super(context, KEY);
 
         DockUpdaterFeatureProvider dockUpdaterFeatureProvider =
-                FeatureFactory.getFactory(context).getDockUpdaterFeatureProvider();
+                FeatureFactory.getFeatureFactory().getDockUpdaterFeatureProvider();
         mSavedDockUpdater =
                 dockUpdaterFeatureProvider.getSavedDockUpdater(context, this);
     }
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java b/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java
index 1187c59..5bf97ab 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java
@@ -71,7 +71,7 @@
         mFragment = fragment;
         mRegisteredBatteryCallbackIds = new ArrayList<>();
         mDevicePreferenceCallback = devicePreferenceCallback;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mContext = context;
         mInputManager = context.getSystemService(InputManager.class);
     }
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
index 0a0e208..985c8b7 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
@@ -45,6 +45,7 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.profileselector.ProfileSelectDialog;
 import com.android.settings.dashboard.profileselector.UserAdapter;
+import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -59,7 +60,8 @@
  * This class adds stylus preferences.
  */
 public class StylusDevicesController extends AbstractPreferenceController implements
-        Preference.OnPreferenceClickListener, LifecycleObserver, OnResume {
+        Preference.OnPreferenceClickListener, Preference.OnPreferenceChangeListener,
+        LifecycleObserver, OnResume {
 
     @VisibleForTesting
     static final String KEY_STYLUS = "device_stylus";
@@ -138,11 +140,15 @@
         return pref;
     }
 
-    private SwitchPreference createOrUpdateHandwritingPreference(SwitchPreference preference) {
-        SwitchPreference pref = preference == null ? new SwitchPreference(mContext) : preference;
+    private PrimarySwitchPreference createOrUpdateHandwritingPreference(
+            PrimarySwitchPreference preference) {
+        PrimarySwitchPreference pref = preference == null ? new PrimarySwitchPreference(mContext)
+                : preference;
         pref.setKey(KEY_HANDWRITING);
         pref.setTitle(mContext.getString(R.string.stylus_textfield_handwriting));
         pref.setIcon(R.drawable.ic_text_fields_alt);
+        // Using a two-target preference, clicking will send an intent and change will toggle.
+        pref.setOnPreferenceChangeListener(this);
         pref.setOnPreferenceClickListener(this);
         pref.setChecked(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED,
@@ -165,7 +171,6 @@
     @Override
     public boolean onPreferenceClick(Preference preference) {
         String key = preference.getKey();
-
         switch (key) {
             case KEY_DEFAULT_NOTES:
                 PackageManager pm = mContext.getPackageManager();
@@ -181,20 +186,13 @@
                 }
                 break;
             case KEY_HANDWRITING:
-                Settings.Secure.putInt(mContext.getContentResolver(),
-                        Settings.Secure.STYLUS_HANDWRITING_ENABLED,
-                        ((SwitchPreference) preference).isChecked() ? 1 : 0);
-
-                if (((SwitchPreference) preference).isChecked()) {
-                    InputMethodManager imm = mContext.getSystemService(InputMethodManager.class);
-                    InputMethodInfo inputMethod = imm.getCurrentInputMethodInfo();
-                    if (inputMethod == null) break;
-
-                    Intent handwritingIntent =
-                            inputMethod.createStylusHandwritingSettingsActivityIntent();
-                    if (handwritingIntent != null) {
-                        mContext.startActivity(handwritingIntent);
-                    }
+                InputMethodManager imm = mContext.getSystemService(InputMethodManager.class);
+                InputMethodInfo inputMethod = imm.getCurrentInputMethodInfo();
+                if (inputMethod == null) break;
+                Intent handwritingIntent =
+                        inputMethod.createStylusHandwritingSettingsActivityIntent();
+                if (handwritingIntent != null) {
+                    mContext.startActivity(handwritingIntent);
                 }
                 break;
             case KEY_IGNORE_BUTTON:
@@ -207,6 +205,19 @@
     }
 
     @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        String key = preference.getKey();
+        switch (key) {
+            case KEY_HANDWRITING:
+                Settings.Secure.putInt(mContext.getContentResolver(),
+                        Settings.Secure.STYLUS_HANDWRITING_ENABLED,
+                        (boolean) newValue ? 1 : 0);
+                break;
+        }
+        return true;
+    }
+
+    @Override
     public final void displayPreference(PreferenceScreen screen) {
         mPreferencesContainer = (PreferenceCategory) screen.findPreference(getPreferenceKey());
         super.displayPreference(screen);
@@ -233,7 +244,7 @@
             mPreferencesContainer.addPreference(notesPref);
         }
 
-        SwitchPreference currHandwritingPref = mPreferencesContainer.findPreference(
+        PrimarySwitchPreference currHandwritingPref = mPreferencesContainer.findPreference(
                 KEY_HANDWRITING);
         Preference handwritingPref = createOrUpdateHandwritingPreference(currHandwritingPref);
         if (currHandwritingPref == null) {
@@ -328,5 +339,4 @@
 
         return false;
     }
-
 }
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java b/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java
index 0f79d3e..08fdd73 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java
@@ -85,8 +85,8 @@
             mPreferenceScreen.removePreference(mPreference);
         }
         if (hasUsbStylusFirmwareUpdateFeature(mStylusUsbDevice)) {
-            StylusFeatureProvider featureProvider = FeatureFactory.getFactory(
-                    mContext).getStylusFeatureProvider();
+            StylusFeatureProvider featureProvider =
+                    FeatureFactory.getFeatureFactory().getStylusFeatureProvider();
             List<Preference> preferences =
                     featureProvider.getUsbFirmwareUpdatePreferences(mContext);
 
@@ -134,8 +134,8 @@
     static boolean hasUsbStylusFirmwareUpdateFeature(UsbDevice usbDevice) {
         if (usbDevice == null) return false;
 
-        StylusFeatureProvider featureProvider = FeatureFactory.getFactory(
-                FeatureFactory.getAppContext()).getStylusFeatureProvider();
+        StylusFeatureProvider featureProvider =
+                FeatureFactory.getFeatureFactory().getStylusFeatureProvider();
 
         return featureProvider.isUsbFirmwareUpdateEnabled(usbDevice);
     }
diff --git a/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java b/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java
index d76ac69..221aab5 100644
--- a/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java
+++ b/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java
@@ -78,8 +78,7 @@
         mUsbBackend = usbBackend;
         mUsbReceiver = new UsbConnectionBroadcastReceiver(context,
                 mUsbConnectionListener, mUsbBackend);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(mFragment.getContext())
-                .getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public void registerCallback() {
diff --git a/src/com/android/settings/core/InstrumentedActivity.java b/src/com/android/settings/core/InstrumentedActivity.java
index be350a8..a0849a8 100644
--- a/src/com/android/settings/core/InstrumentedActivity.java
+++ b/src/com/android/settings/core/InstrumentedActivity.java
@@ -33,6 +33,6 @@
         super.onCreate(savedInstanceState);
         // Mixin that logs visibility change for activity.
         getSettingsLifecycle().addObserver(new VisibilityLoggerMixin(getMetricsCategory(),
-                FeatureFactory.getFactory(this).getMetricsFeatureProvider()));
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()));
     }
 }
diff --git a/src/com/android/settings/core/InstrumentedFragment.java b/src/com/android/settings/core/InstrumentedFragment.java
index c4ceb4a..b98c270 100644
--- a/src/com/android/settings/core/InstrumentedFragment.java
+++ b/src/com/android/settings/core/InstrumentedFragment.java
@@ -33,7 +33,7 @@
 
     @Override
     public void onAttach(Context context) {
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mVisibilityLoggerMixin = new VisibilityLoggerMixin(getMetricsCategory(),
                 mMetricsFeatureProvider);
         // Mixin that logs visibility change for activity.
diff --git a/src/com/android/settings/core/InstrumentedPreferenceFragment.java b/src/com/android/settings/core/InstrumentedPreferenceFragment.java
index bff405b..ba92eae 100644
--- a/src/com/android/settings/core/InstrumentedPreferenceFragment.java
+++ b/src/com/android/settings/core/InstrumentedPreferenceFragment.java
@@ -57,7 +57,7 @@
 
     @Override
     public void onAttach(Context context) {
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         // Mixin that logs visibility change for activity.
         mVisibilityLoggerMixin = new VisibilityLoggerMixin(getMetricsCategory(),
                 mMetricsFeatureProvider);
diff --git a/src/com/android/settings/core/PreferenceXmlParserUtils.java b/src/com/android/settings/core/PreferenceXmlParserUtils.java
index 37d9144..f4fd5f7 100644
--- a/src/com/android/settings/core/PreferenceXmlParserUtils.java
+++ b/src/com/android/settings/core/PreferenceXmlParserUtils.java
@@ -17,7 +17,6 @@
 package com.android.settings.core;
 
 import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.annotation.XmlRes;
 import android.content.Context;
 import android.content.res.TypedArray;
@@ -26,11 +25,9 @@
 import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.util.Log;
-import android.util.TypedValue;
 import android.util.Xml;
 
 import androidx.annotation.IntDef;
-import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
 
@@ -50,8 +47,7 @@
 public class PreferenceXmlParserUtils {
 
     private static final String TAG = "PreferenceXmlParserUtil";
-    @VisibleForTesting
-    static final String PREF_SCREEN_TAG = "PreferenceScreen";
+    public static final String PREF_SCREEN_TAG = "PreferenceScreen";
     private static final List<String> SUPPORTED_PREF_TYPES = Arrays.asList(
             "Preference", "PreferenceCategory", "PreferenceScreen",
             "com.android.settings.widget.WorkOnlyCategory");
@@ -71,7 +67,9 @@
             MetadataFlag.FLAG_NEED_PREF_TITLE,
             MetadataFlag.FLAG_NEED_PREF_SUMMARY,
             MetadataFlag.FLAG_NEED_PREF_ICON,
+            MetadataFlag.FLAG_NEED_KEYWORDS,
             MetadataFlag.FLAG_NEED_SEARCHABLE,
+            MetadataFlag.FLAG_NEED_PREF_APPEND,
             MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE,
             MetadataFlag.FLAG_FOR_WORK,
             MetadataFlag.FLAG_NEED_HIGHLIGHTABLE_MENU_KEY,
@@ -109,70 +107,6 @@
     public static final String METADATA_HIGHLIGHTABLE_MENU_KEY = "highlightable_menu_key";
     public static final String METADATA_USER_RESTRICTION = "userRestriction";
 
-    private static final String ENTRIES_SEPARATOR = "|";
-
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with {@link #METADATA_KEY} instead.
-     */
-    @Deprecated
-    public static String getDataKey(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.Preference,
-                com.android.internal.R.styleable.Preference_key);
-    }
-
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with {@link #METADATA_TITLE} instead.
-     */
-    @Deprecated
-    public static String getDataTitle(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.Preference,
-                com.android.internal.R.styleable.Preference_title);
-    }
-
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with {@link #METADATA_SUMMARY} instead.
-     */
-    @Deprecated
-    public static String getDataSummary(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.Preference,
-                com.android.internal.R.styleable.Preference_summary);
-    }
-
-    public static String getDataSummaryOn(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.CheckBoxPreference,
-                com.android.internal.R.styleable.CheckBoxPreference_summaryOn);
-    }
-
-    public static String getDataSummaryOff(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.CheckBoxPreference,
-                com.android.internal.R.styleable.CheckBoxPreference_summaryOff);
-    }
-
-    public static String getDataEntries(Context context, AttributeSet attrs) {
-        return getDataEntries(context, attrs,
-                com.android.internal.R.styleable.ListPreference,
-                com.android.internal.R.styleable.ListPreference_entries);
-    }
-
-    public static String getDataKeywords(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs, R.styleable.Preference,
-                R.styleable.Preference_keywords);
-    }
-
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with {@link #METADATA_CONTROLLER} instead.
-     */
-    @Deprecated
-    public static String getController(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs, R.styleable.Preference,
-                R.styleable.Preference_controller);
-    }
-
     /**
      * Extracts metadata from preference xml and put them into a {@link Bundle}.
      *
@@ -276,45 +210,10 @@
         return metadata;
     }
 
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with a {@link MetadataFlag} instead.
-     */
-    @Deprecated
-    @Nullable
-    private static String getStringData(Context context, AttributeSet set, int[] attrs, int resId) {
-        final TypedArray ta = context.obtainStyledAttributes(set, attrs);
-        String data = ta.getString(resId);
-        ta.recycle();
-        return data;
-    }
-
     private static boolean hasFlag(int flags, @MetadataFlag int flag) {
         return (flags & flag) != 0;
     }
 
-    private static String getDataEntries(Context context, AttributeSet set, int[] attrs,
-            int resId) {
-        final TypedArray sa = context.obtainStyledAttributes(set, attrs);
-        final TypedValue tv = sa.peekValue(resId);
-        sa.recycle();
-        String[] data = null;
-        if (tv != null && tv.type == TypedValue.TYPE_REFERENCE) {
-            if (tv.resourceId != 0) {
-                data = context.getResources().getStringArray(tv.resourceId);
-            }
-        }
-        final int count = (data == null) ? 0 : data.length;
-        if (count == 0) {
-            return null;
-        }
-        final StringBuilder result = new StringBuilder();
-        for (int n = 0; n < count; n++) {
-            result.append(data[n]);
-            result.append(ENTRIES_SEPARATOR);
-        }
-        return result.toString();
-    }
-
     private static String getKey(TypedArray styledAttributes) {
         return styledAttributes.getString(com.android.internal.R.styleable.Preference_key);
     }
@@ -364,9 +263,9 @@
 
     private static String getUserRestriction(Context context, AttributeSet attrs) {
         TypedArray preferenceAttributes = context.obtainStyledAttributes(attrs,
-                R.styleable.RestrictedPreference);
+                com.android.settingslib.R.styleable.RestrictedPreference);
         String userRestriction = preferenceAttributes.getString(
-                R.styleable.RestrictedPreference_userRestriction);
+                com.android.settingslib.R.styleable.RestrictedPreference_userRestriction);
         preferenceAttributes.recycle();
         return userRestriction;
     }
diff --git a/src/com/android/settings/core/SettingsBaseActivity.java b/src/com/android/settings/core/SettingsBaseActivity.java
index ff84a3f..d5b3103 100644
--- a/src/com/android/settings/core/SettingsBaseActivity.java
+++ b/src/com/android/settings/core/SettingsBaseActivity.java
@@ -110,8 +110,10 @@
         }
 
         if (isToolbarEnabled() && !isAnySetupWizard) {
-            super.setContentView(R.layout.collapsing_toolbar_base_layout);
-            mCollapsingToolbarLayout = findViewById(R.id.collapsing_toolbar);
+            super.setContentView(
+                    com.android.settingslib.widget.R.layout.collapsing_toolbar_base_layout);
+            mCollapsingToolbarLayout =
+                    findViewById(com.android.settingslib.widget.R.id.collapsing_toolbar);
             mAppBarLayout = findViewById(R.id.app_bar);
             if (mCollapsingToolbarLayout != null) {
                 mCollapsingToolbarLayout.setLineSpacingMultiplier(TOOLBAR_LINE_SPACING_MULTIPLIER);
@@ -162,9 +164,12 @@
         final int transitionType = getTransitionType(intent);
         super.startActivityForResult(intent, requestCode, options);
         if (transitionType == TransitionType.TRANSITION_SLIDE) {
-            overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+            overridePendingTransition(
+                    com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                    com.google.android.setupdesign.R.anim.sud_slide_next_out);
         } else if (transitionType == TransitionType.TRANSITION_FADE) {
-            overridePendingTransition(android.R.anim.fade_in, R.anim.sud_stay);
+            overridePendingTransition(
+                    android.R.anim.fade_in, com.google.android.setupdesign.R.anim.sud_stay);
         }
     }
 
@@ -172,7 +177,8 @@
     protected void onPause() {
         // For accessibility activities launched from setup wizard.
         if (getTransitionType(getIntent()) == TransitionType.TRANSITION_FADE) {
-            overridePendingTransition(R.anim.sud_stay, android.R.anim.fade_out);
+            overridePendingTransition(
+                    com.google.android.setupdesign.R.anim.sud_stay, android.R.anim.fade_out);
         }
         super.onPause();
     }
diff --git a/src/com/android/settings/core/TogglePreferenceController.java b/src/com/android/settings/core/TogglePreferenceController.java
index f14e0b2..a6c67eb 100644
--- a/src/com/android/settings/core/TogglePreferenceController.java
+++ b/src/com/android/settings/core/TogglePreferenceController.java
@@ -81,7 +81,7 @@
         // TwoStatePreference is a regular preference and can be handled by DashboardFragment
         if (preference instanceof PrimarySwitchPreference
                 || preference instanceof TwoStateButtonPreference) {
-            FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logClickedPreference(preference, getMetricsCategory());
         }
         return setChecked((boolean) newValue);
diff --git a/src/com/android/settings/core/instrumentation/InstrumentedDialogFragment.java b/src/com/android/settings/core/instrumentation/InstrumentedDialogFragment.java
index 0a214f1..9f92537 100644
--- a/src/com/android/settings/core/instrumentation/InstrumentedDialogFragment.java
+++ b/src/com/android/settings/core/instrumentation/InstrumentedDialogFragment.java
@@ -46,7 +46,7 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context)
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getMetricsFeatureProvider();
         mLifecycle.addObserver(new VisibilityLoggerMixin(getMetricsCategory(),
                 mMetricsFeatureProvider));
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index 578493a..3345a55 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -100,7 +100,7 @@
     public DashboardFeatureProviderImpl(Context context) {
         mContext = context.getApplicationContext();
         mCategoryManager = CategoryManager.get(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mPackageManager = context.getPackageManager();
     }
 
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
index 58a51cb..6b50b70 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
@@ -130,14 +130,14 @@
         final UserHandle user = mSelectedTile.userHandle.get(position);
         if (!mSelectedTile.hasPendingIntent()) {
             final Intent intent = new Intent(mSelectedTile.getIntent());
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logStartedIntentWithProfile(intent, mSourceMetricCategory,
                             position == 1 /* isWorkProfile */);
             intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
             getActivity().startActivityAsUser(intent, user);
         } else {
             PendingIntent pendingIntent = mSelectedTile.pendingIntentMap.get(user);
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logSettingsTileClickWithProfile(mSelectedTile.getKey(getContext()),
                             mSourceMetricCategory,
                             position == 1 /* isWorkProfile */);
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
index 9be2177..5c0580d 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
@@ -231,11 +231,11 @@
 
         if (position == WORK_TAB) {
             return devicePolicyManager.getResources().getString(WORK_CATEGORY_HEADER,
-                    () -> getContext().getString(R.string.category_work));
+                    () -> getContext().getString(com.android.settingslib.R.string.category_work));
         }
 
         return devicePolicyManager.getResources().getString(PERSONAL_CATEGORY_HEADER,
-                () -> getContext().getString(R.string.category_personal));
+                () -> getContext().getString(com.android.settingslib.R.string.category_personal));
     }
 
     static class ViewPagerAdapter extends FragmentStateAdapter {
diff --git a/src/com/android/settings/dashboard/profileselector/UserAdapter.java b/src/com/android/settings/dashboard/profileselector/UserAdapter.java
index f7cda69..0552a81 100644
--- a/src/com/android/settings/dashboard/profileselector/UserAdapter.java
+++ b/src/com/android/settings/dashboard/profileselector/UserAdapter.java
@@ -77,10 +77,11 @@
             if (userHandle == UserHandle.USER_CURRENT
                     || userHandle == ActivityManager.getCurrentUser()) {
                 return resources.getString(PERSONAL_CATEGORY_HEADER,
-                        () -> context.getString(R.string.category_personal));
+                        () -> context.getString(
+                                com.android.settingslib.R.string.category_personal));
             } else {
                 return resources.getString(WORK_CATEGORY_HEADER,
-                        () -> context.getString(R.string.category_work));
+                        () -> context.getString(com.android.settingslib.R.string.category_work));
             }
         }
     }
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionStateProvider.java b/src/com/android/settings/dashboard/suggestions/SuggestionStateProvider.java
index e9a1e8d..3995db6 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionStateProvider.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionStateProvider.java
@@ -83,7 +83,7 @@
                 isComplete = true;
             } else {
                 final Context context = getContext();
-                isComplete = FeatureFactory.getFactory(context)
+                isComplete = FeatureFactory.getFeatureFactory()
                         .getSuggestionFeatureProvider()
                         .isSuggestionComplete(context, cn);
             }
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java
index 0e47bc4..aa763ae 100644
--- a/src/com/android/settings/datausage/CellDataPreference.java
+++ b/src/com/android/settings/datausage/CellDataPreference.java
@@ -138,7 +138,7 @@
     @Override
     protected void performClick(View view) {
         final Context context = getContext();
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(context, SettingsEnums.ACTION_CELL_DATA_TOGGLE, !mChecked);
         final SubscriptionInfo currentSir = getActiveSubscriptionInfo(mSubId);
         final SubscriptionInfo nextSir = getActiveSubscriptionInfo(
diff --git a/src/com/android/settings/datausage/DataSaverBackend.java b/src/com/android/settings/datausage/DataSaverBackend.java
index 6a39234..b4b6b8c 100644
--- a/src/com/android/settings/datausage/DataSaverBackend.java
+++ b/src/com/android/settings/datausage/DataSaverBackend.java
@@ -48,7 +48,7 @@
     public DataSaverBackend(@NotNull Context context) {
         // TODO(b/246537614):Use fragment context to DataSaverBackend class will caused memory leak
         mContext = context.getApplicationContext();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mPolicyManager = NetworkPolicyManager.from(mContext);
     }
 
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
index dd8312c..ee2a1ad 100644
--- a/src/com/android/settings/datausage/DataUsageList.java
+++ b/src/com/android/settings/datausage/DataUsageList.java
@@ -159,11 +159,6 @@
         mChart = findPreference(KEY_CHART_DATA);
         mApps = findPreference(KEY_APPS_GROUP);
 
-        final Preference unnecessaryWarningPreference = findPreference("operator_warning");
-        if (unnecessaryWarningPreference != null) {
-            unnecessaryWarningPreference.setVisible(false);
-        }
-
         processArgument();
         updateSubscriptionInfoEntity();
         mDataStateListener = new MobileDataEnabledListener(activity, this);
diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java b/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java
index 1fea84c..4921a339 100644
--- a/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java
+++ b/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java
@@ -176,7 +176,7 @@
         if (mDataUsageState != null) {
             setChecked(mDataUsageState.isDataSaverAllowlisted);
             if (isDisabledByAdmin()) {
-                setSummary(R.string.disabled_by_admin);
+                setSummary(com.android.settingslib.widget.R.string.disabled_by_admin);
             } else if (mDataUsageState.isDataSaverDenylisted) {
                 setSummary(R.string.restrict_background_blocklisted);
             } else {
diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java b/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
index 438ed0d..0fb6e50 100644
--- a/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
+++ b/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
@@ -233,7 +233,7 @@
     void logSpecialPermissionChange(boolean allowlisted, String packageName) {
         final int logCategory = allowlisted ? SettingsEnums.APP_SPECIAL_PERMISSION_UNL_DATA_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_UNL_DATA_DENY;
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().action(mContext,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(mContext,
                 logCategory, packageName);
     }
 
diff --git a/src/com/android/settings/datausage/lib/DataUsageLib.java b/src/com/android/settings/datausage/lib/DataUsageLib.java
deleted file mode 100644
index b3f7e79..0000000
--- a/src/com/android/settings/datausage/lib/DataUsageLib.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (C) 2020 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.datausage.lib;
-
-import android.content.Context;
-import android.net.NetworkStats;
-import android.net.NetworkTemplate;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.ArraySet;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-
-import com.android.internal.util.ArrayUtils;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Lib class for data usage
- */
-public class DataUsageLib {
-    private static final String TAG = "DataUsageLib";
-
-    /**
-     * Return mobile NetworkTemplate based on {@code subId}
-     */
-    public static NetworkTemplate getMobileTemplate(Context context, int subId) {
-        final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
-        final int mobileDefaultSubId = telephonyManager.getSubscriptionId();
-
-        final SubscriptionManager subscriptionManager =
-                context.getSystemService(SubscriptionManager.class);
-        final List<SubscriptionInfo> subInfoList =
-                subscriptionManager.getAvailableSubscriptionInfoList();
-        if (subInfoList == null) {
-            Log.i(TAG, "Subscription is not inited: " + subId);
-            return getMobileTemplateForSubId(telephonyManager, mobileDefaultSubId);
-        }
-
-        for (SubscriptionInfo subInfo : subInfoList) {
-            if ((subInfo != null) && (subInfo.getSubscriptionId() == subId)) {
-                return getNormalizedMobileTemplate(telephonyManager, subId);
-            }
-        }
-        Log.i(TAG, "Subscription is not active: " + subId);
-        return getMobileTemplateForSubId(telephonyManager, mobileDefaultSubId);
-    }
-
-    private static NetworkTemplate getNormalizedMobileTemplate(
-            TelephonyManager telephonyManager, int subId) {
-        final NetworkTemplate mobileTemplate = getMobileTemplateForSubId(telephonyManager, subId);
-        final String[] mergedSubscriberIds = telephonyManager
-                .createForSubscriptionId(subId).getMergedImsisFromGroup();
-        if (ArrayUtils.isEmpty(mergedSubscriberIds)) {
-            Log.i(TAG, "mergedSubscriberIds is null.");
-            return mobileTemplate;
-        }
-
-        return normalizeMobileTemplate(mobileTemplate, mergedSubscriberIds);
-    }
-
-    private static NetworkTemplate normalizeMobileTemplate(
-            @NonNull NetworkTemplate template, @NonNull String[] merged) {
-        if (template.getSubscriberIds().isEmpty()) return template;
-        // The input template should have at most 1 subscriberId.
-        final String subscriberId = template.getSubscriberIds().iterator().next();
-        // In some rare cases (e.g. b/243015487), merged subscriberId list might contain
-        // duplicated items. Deduplication for better error handling.
-        final ArraySet mergedSet = new ArraySet(merged);
-        if (mergedSet.size() != merged.length) {
-            Log.wtf(TAG, "Duplicated merged list detected: " + Arrays.toString(merged));
-        }
-        if (mergedSet.contains(subscriberId)) {
-            // Requested template subscriber is part of the merge group; return
-            // a template that matches all merged subscribers.
-            return new NetworkTemplate.Builder(template.getMatchRule())
-                    .setSubscriberIds(mergedSet)
-                    .setMeteredness(template.getMeteredness()).build();
-        }
-
-        return template;
-    }
-
-    public static NetworkTemplate getMobileTemplateForSubId(
-            TelephonyManager telephonyManager, int subId) {
-        // Create template that matches any mobile network when the subscriberId is null.
-        String subscriberId = telephonyManager.getSubscriberId(subId);
-        return subscriberId != null
-                ? new NetworkTemplate.Builder(NetworkTemplate.MATCH_CARRIER)
-                .setSubscriberIds(Set.of(subscriberId))
-                .setMeteredness(NetworkStats.METERED_YES)
-                .build()
-                : new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
-                        .setMeteredness(NetworkStats.METERED_YES)
-                        .build();
-    }
-}
diff --git a/src/com/android/settings/datausage/lib/DataUsageLib.kt b/src/com/android/settings/datausage/lib/DataUsageLib.kt
new file mode 100644
index 0000000..9e94aba
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/DataUsageLib.kt
@@ -0,0 +1,99 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkStats
+import android.net.NetworkTemplate
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.util.Log
+
+/**
+ * Lib class for data usage
+ */
+object DataUsageLib {
+    private const val TAG = "DataUsageLib"
+
+    /**
+     * Return mobile NetworkTemplate based on `subId`
+     */
+    @JvmStatic
+    fun getMobileTemplate(context: Context, subId: Int): NetworkTemplate {
+        val telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
+        val mobileDefaultSubId = telephonyManager.subscriptionId
+        val subscriptionManager = context.getSystemService(SubscriptionManager::class.java)!!
+        val subInfoList = subscriptionManager.availableSubscriptionInfoList
+        if (subInfoList == null) {
+            Log.i(TAG, "Subscription is not inited: $subId")
+            return getMobileTemplateForSubId(telephonyManager, mobileDefaultSubId)
+        }
+        for (subInfo in subInfoList) {
+            if (subInfo?.subscriptionId == subId) {
+                return getNormalizedMobileTemplate(telephonyManager, subId)
+            }
+        }
+        Log.i(TAG, "Subscription is not active: $subId")
+        return getMobileTemplateForSubId(telephonyManager, mobileDefaultSubId)
+    }
+
+    private fun getNormalizedMobileTemplate(
+        telephonyManager: TelephonyManager,
+        subId: Int,
+    ): NetworkTemplate {
+        val mobileTemplate = getMobileTemplateForSubId(telephonyManager, subId)
+        val mergedSubscriberIds =
+            telephonyManager.createForSubscriptionId(subId).mergedImsisFromGroup
+        if (mergedSubscriberIds.isNullOrEmpty()) {
+            Log.i(TAG, "mergedSubscriberIds is empty.")
+            return mobileTemplate
+        }
+        return normalizeMobileTemplate(mobileTemplate, mergedSubscriberIds)
+    }
+
+    private fun normalizeMobileTemplate(
+        template: NetworkTemplate,
+        merged: Array<String?>,
+    ): NetworkTemplate {
+        val subscriberId = template.subscriberIds.firstOrNull() ?: return template
+        // In some rare cases (e.g. b/243015487), merged subscriberId list might contain
+        // duplicated items. Deduplication for better error handling.
+        val mergedSet = merged.toSet()
+        if (mergedSet.size != merged.size) {
+            Log.wtf(TAG, "Duplicated merged list detected: " + merged.contentToString())
+        }
+        return if (mergedSet.contains(subscriberId)) {
+            // Requested template subscriber is part of the merge group; return
+            // a template that matches all merged subscribers.
+            NetworkTemplate.Builder(template.matchRule)
+                .setSubscriberIds(mergedSet)
+                .setMeteredness(template.meteredness)
+                .build()
+        } else template
+    }
+
+    @JvmStatic
+    fun getMobileTemplateForSubId(telephonyManager: TelephonyManager, subId: Int): NetworkTemplate {
+        // Create template that matches any mobile network when the subscriberId is null.
+        val subscriberId = telephonyManager.getSubscriberId(subId)
+        return when (subscriberId) {
+            null -> NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
+            else -> NetworkTemplate.Builder(NetworkTemplate.MATCH_CARRIER)
+                .setSubscriberIds(setOf(subscriberId))
+        }.setMeteredness(NetworkStats.METERED_YES).build()
+    }
+}
diff --git a/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java b/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
index 7514577..09f3871 100644
--- a/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
+++ b/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
@@ -30,7 +30,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -45,7 +44,8 @@
         OnDestroy {
 
     @VisibleForTesting
-    static final int STREAMING_LABEL_ID = R.string.bluetooth_select_a2dp_codec_streaming_label;
+    static final int STREAMING_LABEL_ID =
+            com.android.settingslib.R.string.bluetooth_select_a2dp_codec_streaming_label;
 
     protected final BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
     protected BluetoothA2dp mBluetoothA2dp;
diff --git a/src/com/android/settings/development/AdbDeviceDetailsActionController.java b/src/com/android/settings/development/AdbDeviceDetailsActionController.java
index da4430d..1faf36f 100644
--- a/src/com/android/settings/development/AdbDeviceDetailsActionController.java
+++ b/src/com/android/settings/development/AdbDeviceDetailsActionController.java
@@ -70,7 +70,7 @@
         mButtonsPref = ((ActionButtonsPreference) screen.findPreference(getPreferenceKey()))
                 .setButton1Visible(false)
                 .setButton2Icon(R.drawable.ic_settings_delete)
-                .setButton2Text(R.string.adb_device_forget)
+                .setButton2Text(com.android.settingslib.R.string.adb_device_forget)
                 .setButton2OnClickListener(view -> forgetDevice());
     }
 
diff --git a/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java b/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java
index 3aa92f1..e4bb737 100644
--- a/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java
+++ b/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java
@@ -23,7 +23,6 @@
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.widget.FooterPreference;
 
@@ -71,7 +70,7 @@
         mFingerprintCategory = (PreferenceCategory) screen.findPreference(getPreferenceKey());
         mFingerprintPref = new FooterPreference(mFingerprintCategory.getContext());
         final CharSequence titleFormat = mContext.getText(
-                R.string.adb_device_fingerprint_title_format);
+                com.android.settingslib.R.string.adb_device_fingerprint_title_format);
         mFingerprintPref.setTitle(String.format(
                 titleFormat.toString(), mPairedDevice.guid));
         mFingerprintCategory.addPreference(mFingerprintPref);
diff --git a/src/com/android/settings/development/AdbIpAddressPreferenceController.java b/src/com/android/settings/development/AdbIpAddressPreferenceController.java
index ce5a851..36d1b99 100644
--- a/src/com/android/settings/development/AdbIpAddressPreferenceController.java
+++ b/src/com/android/settings/development/AdbIpAddressPreferenceController.java
@@ -29,7 +29,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.deviceinfo.AbstractConnectivityPreferenceController;
 
@@ -110,13 +109,13 @@
         if (ipAddress != null) {
             int port = getPort();
             if (port <= 0) {
-                mAdbIpAddrPref.setSummary(R.string.status_unavailable);
+                mAdbIpAddrPref.setSummary(com.android.settingslib.R.string.status_unavailable);
             } else {
                 ipAddress += ":" + port;
             }
             mAdbIpAddrPref.setSummary(ipAddress);
         } else {
-            mAdbIpAddrPref.setSummary(R.string.status_unavailable);
+            mAdbIpAddrPref.setSummary(com.android.settingslib.R.string.status_unavailable);
         }
     }
 
diff --git a/src/com/android/settings/development/AdbPairedDevicePreference.java b/src/com/android/settings/development/AdbPairedDevicePreference.java
index 5d30428..9cc85bc 100644
--- a/src/com/android/settings/development/AdbPairedDevicePreference.java
+++ b/src/com/android/settings/development/AdbPairedDevicePreference.java
@@ -75,11 +75,11 @@
         gearNoBg.setVisibility(View.VISIBLE);
     }
 
-    static void setTitle(AdbPairedDevicePreference preference,
-                         PairDevice pairedDevice) {
+    static void setTitle(AdbPairedDevicePreference preference, PairDevice pairedDevice) {
         preference.setTitle(pairedDevice.name);
         preference.setSummary(pairedDevice.connected
-                ? preference.getContext().getText(R.string.adb_wireless_device_connected_summary)
+                ? preference.getContext()
+                .getText(com.android.settingslib.R.string.adb_wireless_device_connected_summary)
                 : "");
     }
 
diff --git a/src/com/android/settings/development/AdbQrcodeScannerFragment.java b/src/com/android/settings/development/AdbQrcodeScannerFragment.java
index afbb8e4..ca44747 100644
--- a/src/com/android/settings/development/AdbQrcodeScannerFragment.java
+++ b/src/com/android/settings/development/AdbQrcodeScannerFragment.java
@@ -177,7 +177,7 @@
         mVerifyingTextView = view.findViewById(R.id.verifying_textview);
 
         setHeaderTitle(R.string.wifi_dpp_scan_qr_code);
-        mSummary.setText(R.string.adb_wireless_qrcode_pairing_description);
+        mSummary.setText(com.android.settingslib.R.string.adb_wireless_qrcode_pairing_description);
 
         mErrorMessage = view.findViewById(R.id.error_message);
     }
diff --git a/src/com/android/settings/development/AdbWirelessDialogController.java b/src/com/android/settings/development/AdbWirelessDialogController.java
index 136c7b3..35471b9 100644
--- a/src/com/android/settings/development/AdbWirelessDialogController.java
+++ b/src/com/android/settings/development/AdbWirelessDialogController.java
@@ -59,22 +59,26 @@
 
         switch (mMode) {
             case AdbWirelessDialogUiBase.MODE_PAIRING:
-                String title = res.getString(R.string.adb_pairing_device_dialog_title);
+                String title = res.getString(
+                        com.android.settingslib.R.string.adb_pairing_device_dialog_title);
                 mUi.setTitle(title);
                 mView.findViewById(R.id.l_pairing_six_digit).setVisibility(View.VISIBLE);
                 mUi.setCancelButton(res.getString(R.string.cancel));
                 mUi.setCanceledOnTouchOutside(false);
                 break;
             case AdbWirelessDialogUiBase.MODE_PAIRING_FAILED:
-                String msg = res.getString(R.string.adb_pairing_device_dialog_failed_msg);
-                mUi.setTitle(R.string.adb_pairing_device_dialog_failed_title);
+                String msg = res.getString(
+                        com.android.settingslib.R.string.adb_pairing_device_dialog_failed_msg);
+                mUi.setTitle(
+                        com.android.settingslib.R.string.adb_pairing_device_dialog_failed_title);
                 mView.findViewById(R.id.l_pairing_failed).setVisibility(View.VISIBLE);
                 mFailedMsg = (TextView) mView.findViewById(R.id.pairing_failed_label);
                 mFailedMsg.setText(msg);
                 mUi.setSubmitButton(res.getString(R.string.okay));
                 break;
             case AdbWirelessDialogUiBase.MODE_QRCODE_FAILED:
-                mUi.setTitle(R.string.adb_pairing_device_dialog_failed_title);
+                mUi.setTitle(
+                        com.android.settingslib.R.string.adb_pairing_device_dialog_failed_title);
                 mView.findViewById(R.id.l_qrcode_pairing_failed).setVisibility(View.VISIBLE);
                 mUi.setSubmitButton(res.getString(R.string.okay));
                 break;
diff --git a/src/com/android/settings/development/AnimatorDurationScalePreferenceController.java b/src/com/android/settings/development/AnimatorDurationScalePreferenceController.java
index 766352a..114b121 100644
--- a/src/com/android/settings/development/AnimatorDurationScalePreferenceController.java
+++ b/src/com/android/settings/development/AnimatorDurationScalePreferenceController.java
@@ -25,7 +25,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -48,9 +47,10 @@
 
         mWindowManager = IWindowManager.Stub.asInterface(
                 ServiceManager.getService(Context.WINDOW_SERVICE));
-        mListValues = context.getResources().getStringArray(R.array.animator_duration_scale_values);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.animator_duration_scale_values);
         mListSummaries = context.getResources().getStringArray(
-                R.array.animator_duration_scale_entries);
+                com.android.settingslib.R.array.animator_duration_scale_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/AppPicker.java b/src/com/android/settings/development/AppPicker.java
index 51215a1..8f478b5 100644
--- a/src/com/android/settings/development/AppPicker.java
+++ b/src/com/android/settings/development/AppPicker.java
@@ -32,8 +32,6 @@
 import android.widget.ArrayAdapter;
 import android.widget.ListView;
 
-import com.android.settings.R;
-
 import java.text.Collator;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -168,7 +166,7 @@
             Collections.sort(mPackageInfoList, sDisplayNameComparator);
             if (mIncludeNothing) {
                 MyApplicationInfo info = new MyApplicationInfo();
-                info.label = context.getText(R.string.no_application);
+                info.label = context.getText(com.android.settingslib.R.string.no_application);
                 mPackageInfoList.add(0, info);
             }
             addAll(mPackageInfoList);
diff --git a/src/com/android/settings/development/AppViewHolder.java b/src/com/android/settings/development/AppViewHolder.java
index 4deef90..3e34275 100644
--- a/src/com/android/settings/development/AppViewHolder.java
+++ b/src/com/android/settings/development/AppViewHolder.java
@@ -21,7 +21,6 @@
 import android.widget.ImageView;
 import android.widget.TextView;
 
-import com.android.settings.R;
 import com.android.settingslib.applications.ApplicationsState;
 
 // View Holder used when displaying views
@@ -36,7 +35,8 @@
 
     static public AppViewHolder createOrRecycle(LayoutInflater inflater, View convertView) {
         if (convertView == null) {
-            convertView = inflater.inflate(R.layout.preference_app, null);
+            convertView =
+                    inflater.inflate(com.android.settingslib.widget.R.layout.preference_app, null);
 
             // Creates a ViewHolder and store references to the two children views
             // we want to bind data to.
@@ -45,7 +45,8 @@
             holder.appName = convertView.findViewById(android.R.id.title);
             holder.appIcon = convertView.findViewById(android.R.id.icon);
             holder.summary = convertView.findViewById(android.R.id.summary);
-            holder.disabled = convertView.findViewById(R.id.appendix);
+            holder.disabled =
+                    convertView.findViewById(com.android.settingslib.widget.R.id.appendix);
             holder.widget = convertView.findViewById(android.R.id.widget_frame);
             convertView.setTag(holder);
             return holder;
diff --git a/src/com/android/settings/development/BackAnimationPreferenceDialog.java b/src/com/android/settings/development/BackAnimationPreferenceDialog.java
index 8347e8d..9715075 100644
--- a/src/com/android/settings/development/BackAnimationPreferenceDialog.java
+++ b/src/com/android/settings/development/BackAnimationPreferenceDialog.java
@@ -27,7 +27,6 @@
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 /**
@@ -66,8 +65,8 @@
     @NonNull
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.back_navigation_animation)
-                .setMessage(R.string.back_navigation_animation_dialog)
+                .setTitle(com.android.settingslib.R.string.back_navigation_animation)
+                .setMessage(com.android.settingslib.R.string.back_navigation_animation_dialog)
                 .setPositiveButton(android.R.string.ok, this /* onClickListener */)
                 .create();
     }
diff --git a/src/com/android/settings/development/BackgroundProcessLimitPreferenceController.java b/src/com/android/settings/development/BackgroundProcessLimitPreferenceController.java
index 690d079..7a7d6fa 100644
--- a/src/com/android/settings/development/BackgroundProcessLimitPreferenceController.java
+++ b/src/com/android/settings/development/BackgroundProcessLimitPreferenceController.java
@@ -25,8 +25,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 public class BackgroundProcessLimitPreferenceController extends
diff --git a/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceController.java b/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceController.java
index 8c307a6..0bf94de 100644
--- a/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceController.java
@@ -24,8 +24,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 public class BluetoothAvrcpVersionPreferenceController extends DeveloperOptionsPreferenceController
diff --git a/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java b/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java
index ac20627..b91a8ba 100644
--- a/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java
@@ -24,8 +24,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 /**
diff --git a/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceController.java b/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceController.java
index 8ace9bb..607b672 100644
--- a/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceController.java
@@ -56,10 +56,12 @@
         super(context);
         mListValues =
                 context.getResources()
-                        .getStringArray(R.array.bt_hci_snoop_log_profile_filter_values);
+                        .getStringArray(com.android.settingslib.R
+                                .array.bt_hci_snoop_log_profile_filter_values);
         mListEntries =
                 context.getResources()
-                        .getStringArray(R.array.bt_hci_snoop_log_profile_filter_entries);
+                        .getStringArray(com.android.settingslib.R
+                                .array.bt_hci_snoop_log_profile_filter_entries);
         mProfilesFilterDisabledEntry =
                 context.getResources()
                         .getString(R.string.bt_hci_snoop_log_filtered_mode_disabled_summary);
diff --git a/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceController.java b/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceController.java
index c17291c..1816011 100644
--- a/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceController.java
@@ -56,10 +56,12 @@
         super(context);
         mListValues =
                 context.getResources()
-                        .getStringArray(R.array.bt_hci_snoop_log_profile_filter_values);
+                        .getStringArray(com.android.settingslib.R
+                                .array.bt_hci_snoop_log_profile_filter_values);
         mListEntries =
                 context.getResources()
-                        .getStringArray(R.array.bt_hci_snoop_log_profile_filter_entries);
+                        .getStringArray(com.android.settingslib.R
+                                .array.bt_hci_snoop_log_profile_filter_entries);
         mProfilesFilterDisabledEntry =
                 context.getResources()
                         .getString(R.string.bt_hci_snoop_log_filtered_mode_disabled_summary);
diff --git a/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java b/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java
index 31ed652..1ef4810 100644
--- a/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java
@@ -26,7 +26,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -48,8 +47,10 @@
     public BluetoothSnoopLogPreferenceController(
             Context context, DevelopmentSettingsDashboardFragment fragment) {
         super(context);
-        mListValues = context.getResources().getStringArray(R.array.bt_hci_snoop_log_values);
-        mListEntries = context.getResources().getStringArray(R.array.bt_hci_snoop_log_entries);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.bt_hci_snoop_log_values);
+        mListEntries = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.bt_hci_snoop_log_entries);
         mFragment = fragment;
     }
 
diff --git a/src/com/android/settings/development/CachedAppsFreezerPreferenceController.java b/src/com/android/settings/development/CachedAppsFreezerPreferenceController.java
index e57a3d7..5142a78 100644
--- a/src/com/android/settings/development/CachedAppsFreezerPreferenceController.java
+++ b/src/com/android/settings/development/CachedAppsFreezerPreferenceController.java
@@ -29,7 +29,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -46,9 +45,10 @@
     public CachedAppsFreezerPreferenceController(Context context) {
         super(context);
 
-        mListValues = context.getResources().getStringArray(R.array.cached_apps_freezer_values);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.cached_apps_freezer_values);
         mListSummaries = context.getResources().getStringArray(
-                R.array.cached_apps_freezer_entries);
+                com.android.settingslib.R.array.cached_apps_freezer_entries);
     }
 
     @Override
@@ -76,7 +76,8 @@
 
         if (!newValue.equals(currentValue)) {
             final AlertDialog dialog = new AlertDialog.Builder(mContext)
-                    .setMessage(R.string.cached_apps_freezer_reboot_dialog_text)
+                    .setMessage(
+                            com.android.settingslib.R.string.cached_apps_freezer_reboot_dialog_text)
                     .setPositiveButton(android.R.string.ok, getRebootDialogOkListener(newValue))
                     .setNegativeButton(android.R.string.cancel, getRebootDialogCancelListener())
                     .create();
diff --git a/src/com/android/settings/development/ClearAdbKeysWarningDialog.java b/src/com/android/settings/development/ClearAdbKeysWarningDialog.java
index cdf8a95..129f26a 100644
--- a/src/com/android/settings/development/ClearAdbKeysWarningDialog.java
+++ b/src/com/android/settings/development/ClearAdbKeysWarningDialog.java
@@ -25,7 +25,6 @@
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 public class ClearAdbKeysWarningDialog extends InstrumentedDialogFragment implements
@@ -51,7 +50,7 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setMessage(R.string.adb_keys_warning_message)
+                .setMessage(com.android.settingslib.R.string.adb_keys_warning_message)
                 .setPositiveButton(android.R.string.ok, this /* onClickListener */)
                 .setNegativeButton(android.R.string.cancel, null /* onClickListener */)
                 .create();
diff --git a/src/com/android/settings/development/ColorModePreference.java b/src/com/android/settings/development/ColorModePreference.java
index 9e5666e..fef9d21 100644
--- a/src/com/android/settings/development/ColorModePreference.java
+++ b/src/com/android/settings/development/ColorModePreference.java
@@ -26,7 +26,7 @@
 
 import androidx.preference.SwitchPreference;
 
-import com.android.settings.R;
+import com.android.settingslib.R;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/src/com/android/settings/development/DebugGpuOverdrawPreferenceController.java b/src/com/android/settings/development/DebugGpuOverdrawPreferenceController.java
index da4b94b..e53ab20 100644
--- a/src/com/android/settings/development/DebugGpuOverdrawPreferenceController.java
+++ b/src/com/android/settings/development/DebugGpuOverdrawPreferenceController.java
@@ -24,7 +24,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 import com.android.settingslib.development.SystemPropPoker;
@@ -41,8 +40,10 @@
     public DebugGpuOverdrawPreferenceController(Context context) {
         super(context);
 
-        mListValues = context.getResources().getStringArray(R.array.debug_hw_overdraw_values);
-        mListSummaries = context.getResources().getStringArray(R.array.debug_hw_overdraw_entries);
+        mListValues = context.getResources().getStringArray(
+                com.android.settingslib.R.array.debug_hw_overdraw_values);
+        mListSummaries = context.getResources().getStringArray(
+                com.android.settingslib.R.array.debug_hw_overdraw_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceController.java b/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceController.java
index 8f15c86..fc74206 100644
--- a/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceController.java
+++ b/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceController.java
@@ -24,7 +24,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 import com.android.settingslib.development.SystemPropPoker;
@@ -41,8 +40,10 @@
     public DebugNonRectClipOperationsPreferenceController(Context context) {
         super(context);
 
-        mListValues = context.getResources().getStringArray(R.array.show_non_rect_clip_values);
-        mListSummaries = context.getResources().getStringArray(R.array.show_non_rect_clip_entries);
+        mListValues = context.getResources().getStringArray(
+                com.android.settingslib.R.array.show_non_rect_clip_values);
+        mListSummaries = context.getResources().getStringArray(
+                com.android.settingslib.R.array.show_non_rect_clip_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index 01606f2..47b9d09 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -243,7 +243,8 @@
             mIsAvailable = false;
             // Show error message
             if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.development_settings_not_available);
+                getEmptyTextView().setText(
+                        com.android.settingslib.R.string.development_settings_not_available);
             }
             getPreferenceScreen().removeAll();
             return;
@@ -371,8 +372,8 @@
                     DisableDevSettingsDialogFragment.show(this /* host */);
                 }
             }
-            FeatureFactory.getFactory(
-                    getContext()).getSearchFeatureProvider().sendPreIndexIntent(getContext());
+            FeatureFactory.getFeatureFactory().getSearchFeatureProvider()
+                    .sendPreIndexIntent(getContext());
         }
     }
 
diff --git a/src/com/android/settings/development/DisableLogPersistWarningDialog.java b/src/com/android/settings/development/DisableLogPersistWarningDialog.java
index 4514b1b..6f7adf0 100644
--- a/src/com/android/settings/development/DisableLogPersistWarningDialog.java
+++ b/src/com/android/settings/development/DisableLogPersistWarningDialog.java
@@ -25,7 +25,6 @@
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 public class DisableLogPersistWarningDialog extends InstrumentedDialogFragment implements
@@ -55,8 +54,8 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.dev_logpersist_clear_warning_title)
-                .setMessage(R.string.dev_logpersist_clear_warning_message)
+                .setTitle(com.android.settingslib.R.string.dev_logpersist_clear_warning_title)
+                .setMessage(com.android.settingslib.R.string.dev_logpersist_clear_warning_message)
                 .setPositiveButton(android.R.string.ok, this /* onClickListener */)
                 .setNegativeButton(android.R.string.cancel, this /* onClickListener */)
                 .create();
diff --git a/src/com/android/settings/development/EnableAdbWarningDialog.java b/src/com/android/settings/development/EnableAdbWarningDialog.java
index 5204130..0b65be2 100644
--- a/src/com/android/settings/development/EnableAdbWarningDialog.java
+++ b/src/com/android/settings/development/EnableAdbWarningDialog.java
@@ -25,7 +25,6 @@
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 public class EnableAdbWarningDialog extends InstrumentedDialogFragment implements
@@ -50,8 +49,8 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.adb_warning_title)
-                .setMessage(R.string.adb_warning_message)
+                .setTitle(com.android.settingslib.R.string.adb_warning_title)
+                .setMessage(com.android.settingslib.R.string.adb_warning_message)
                 .setPositiveButton(android.R.string.ok, this /* onClickListener */)
                 .setNegativeButton(android.R.string.cancel, this /* onClickListener */)
                 .create();
diff --git a/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java b/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java
index 6b84cdc..497d7d6 100644
--- a/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java
+++ b/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java
@@ -24,8 +24,8 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.R;
 
 public class EnableDevelopmentSettingWarningDialog extends InstrumentedDialogFragment
         implements DialogInterface.OnClickListener {
diff --git a/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java b/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java
index 9bfe9d2..0375acc 100644
--- a/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java
+++ b/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java
@@ -51,8 +51,8 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.confirm_enable_oem_unlock_title)
-                .setMessage(R.string.confirm_enable_oem_unlock_text)
+                .setTitle(com.android.settingslib.R.string.confirm_enable_oem_unlock_title)
+                .setMessage(com.android.settingslib.R.string.confirm_enable_oem_unlock_text)
                 .setPositiveButton(R.string.enable_text, this /* onClickListener */)
                 .setNegativeButton(android.R.string.cancel, this /* onClickListener */)
                 .create();
diff --git a/src/com/android/settings/development/GrammaticalGenderPreferenceController.java b/src/com/android/settings/development/GrammaticalGenderPreferenceController.java
index 993b318..7b8ec65 100644
--- a/src/com/android/settings/development/GrammaticalGenderPreferenceController.java
+++ b/src/com/android/settings/development/GrammaticalGenderPreferenceController.java
@@ -28,7 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -56,8 +55,10 @@
             IActivityManager activityManager) {
         super(context);
 
-        mListValues = context.getResources().getStringArray(R.array.grammatical_gender_values);
-        mListSummaries = context.getResources().getStringArray(R.array.grammatical_gender_entries);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.grammatical_gender_values);
+        mListSummaries = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.grammatical_gender_entries);
         mActivityManager = activityManager;
     }
 
diff --git a/src/com/android/settings/development/HdcpCheckingPreferenceController.java b/src/com/android/settings/development/HdcpCheckingPreferenceController.java
index 52fe8e0..f3afcc2 100644
--- a/src/com/android/settings/development/HdcpCheckingPreferenceController.java
+++ b/src/com/android/settings/development/HdcpCheckingPreferenceController.java
@@ -25,8 +25,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 import com.android.settingslib.development.SystemPropPoker;
 
diff --git a/src/com/android/settings/development/LocalBackupPasswordPreferenceController.java b/src/com/android/settings/development/LocalBackupPasswordPreferenceController.java
index d970f42..2303a91 100644
--- a/src/com/android/settings/development/LocalBackupPasswordPreferenceController.java
+++ b/src/com/android/settings/development/LocalBackupPasswordPreferenceController.java
@@ -25,8 +25,8 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 public class LocalBackupPasswordPreferenceController extends DeveloperOptionsPreferenceController
diff --git a/src/com/android/settings/development/MockLocationAppPreferenceController.java b/src/com/android/settings/development/MockLocationAppPreferenceController.java
index 6b0ed03..b20ef02 100644
--- a/src/com/android/settings/development/MockLocationAppPreferenceController.java
+++ b/src/com/android/settings/development/MockLocationAppPreferenceController.java
@@ -30,7 +30,6 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -98,11 +97,13 @@
 
         if (!TextUtils.isEmpty(mockLocationApp)) {
             mPreference.setSummary(
-                    mContext.getResources().getString(R.string.mock_location_app_set,
-                            getAppLabel(mockLocationApp)));
+                    mContext.getResources()
+                            .getString(com.android.settingslib.R.string.mock_location_app_set,
+                                    getAppLabel(mockLocationApp)));
         } else {
             mPreference.setSummary(
-                    mContext.getResources().getString(R.string.mock_location_app_not_set));
+                    mContext.getResources()
+                            .getString(com.android.settingslib.R.string.mock_location_app_not_set));
         }
     }
 
diff --git a/src/com/android/settings/development/OemUnlockPreferenceController.java b/src/com/android/settings/development/OemUnlockPreferenceController.java
index 118312a..9076f9a 100644
--- a/src/com/android/settings/development/OemUnlockPreferenceController.java
+++ b/src/com/android/settings/development/OemUnlockPreferenceController.java
@@ -159,7 +159,7 @@
     }
 
     private void updateOemUnlockSettingDescription() {
-        int oemUnlockSummary = R.string.oem_unlock_enable_summary;
+        int oemUnlockSummary = com.android.settingslib.R.string.oem_unlock_enable_summary;
         if (isBootloaderUnlocked()) {
             oemUnlockSummary = R.string.oem_unlock_enable_disabled_summary_bootloader_unlocked;
         } else if (isSimLockedDevice()) {
@@ -203,7 +203,7 @@
         final ChooseLockSettingsHelper.Builder builder =
                 new ChooseLockSettingsHelper.Builder(mActivity, mFragment);
         return builder.setRequestCode(requestCode)
-                .setTitle(resources.getString(R.string.oem_unlock_enable))
+                .setTitle(resources.getString(com.android.settingslib.R.string.oem_unlock_enable))
                 .show();
     }
 
diff --git a/src/com/android/settings/development/ProfileGpuRenderingPreferenceController.java b/src/com/android/settings/development/ProfileGpuRenderingPreferenceController.java
index 52e730b..2a0c1d6 100644
--- a/src/com/android/settings/development/ProfileGpuRenderingPreferenceController.java
+++ b/src/com/android/settings/development/ProfileGpuRenderingPreferenceController.java
@@ -24,7 +24,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 import com.android.settingslib.development.SystemPropPoker;
@@ -40,8 +39,10 @@
     public ProfileGpuRenderingPreferenceController(Context context) {
         super(context);
 
-        mListValues = context.getResources().getStringArray(R.array.track_frame_time_values);
-        mListSummaries = context.getResources().getStringArray(R.array.track_frame_time_entries);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.track_frame_time_values);
+        mListSummaries = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.track_frame_time_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/SecondaryDisplayPreferenceController.java b/src/com/android/settings/development/SecondaryDisplayPreferenceController.java
index 3e1653d..572013c 100644
--- a/src/com/android/settings/development/SecondaryDisplayPreferenceController.java
+++ b/src/com/android/settings/development/SecondaryDisplayPreferenceController.java
@@ -23,8 +23,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 public class SecondaryDisplayPreferenceController extends DeveloperOptionsPreferenceController
diff --git a/src/com/android/settings/development/SelectDebugAppPreferenceController.java b/src/com/android/settings/development/SelectDebugAppPreferenceController.java
index b882c70..f0b0b27 100644
--- a/src/com/android/settings/development/SelectDebugAppPreferenceController.java
+++ b/src/com/android/settings/development/SelectDebugAppPreferenceController.java
@@ -28,7 +28,6 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -82,7 +81,8 @@
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        mPreference.setSummary(mContext.getResources().getString(R.string.debug_app_not_set));
+        mPreference.setSummary(mContext.getResources()
+                .getString(com.android.settingslib.R.string.debug_app_not_set));
     }
 
     @VisibleForTesting
@@ -94,10 +94,12 @@
         final String debugApp = Settings.Global.getString(
                 mContext.getContentResolver(), Settings.Global.DEBUG_APP);
         if (debugApp != null && debugApp.length() > 0) {
-            mPreference.setSummary(mContext.getResources().getString(R.string.debug_app_set,
-                    getAppLabel(debugApp)));
+            mPreference.setSummary(mContext.getResources()
+                    .getString(com.android.settingslib.R.string.debug_app_set,
+                            getAppLabel(debugApp)));
         } else {
-            mPreference.setSummary(mContext.getResources().getString(R.string.debug_app_not_set));
+            mPreference.setSummary(mContext.getResources()
+                    .getString(com.android.settingslib.R.string.debug_app_not_set));
         }
     }
 
diff --git a/src/com/android/settings/development/SimulateColorSpacePreferenceController.java b/src/com/android/settings/development/SimulateColorSpacePreferenceController.java
index 56fa76d..bff2494 100644
--- a/src/com/android/settings/development/SimulateColorSpacePreferenceController.java
+++ b/src/com/android/settings/development/SimulateColorSpacePreferenceController.java
@@ -26,7 +26,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -83,8 +82,10 @@
             if (index < 0) {
                 final Resources res = mContext.getResources();
                 // We're using a mode controlled by accessibility preferences.
-                listPreference.setSummary(res.getString(R.string.daltonizer_type_overridden,
-                        res.getString(R.string.accessibility_display_daltonizer_preference_title)));
+                listPreference.setSummary(
+                        res.getString(com.android.settingslib.R.string.daltonizer_type_overridden,
+                        res.getString(com.android.settingslib.R
+                                .string.accessibility_display_daltonizer_preference_title)));
             } else {
                 listPreference.setSummary("%s");
             }
diff --git a/src/com/android/settings/development/TransitionAnimationScalePreferenceController.java b/src/com/android/settings/development/TransitionAnimationScalePreferenceController.java
index 0a8e941..ac68364 100644
--- a/src/com/android/settings/development/TransitionAnimationScalePreferenceController.java
+++ b/src/com/android/settings/development/TransitionAnimationScalePreferenceController.java
@@ -25,7 +25,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -50,9 +49,9 @@
         mWindowManager = IWindowManager.Stub.asInterface(
                 ServiceManager.getService(Context.WINDOW_SERVICE));
         mListValues = context.getResources().getStringArray(
-                R.array.transition_animation_scale_values);
+                com.android.settingslib.R.array.transition_animation_scale_values);
         mListSummaries = context.getResources().getStringArray(
-                R.array.transition_animation_scale_entries);
+                com.android.settingslib.R.array.transition_animation_scale_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/WindowAnimationScalePreferenceController.java b/src/com/android/settings/development/WindowAnimationScalePreferenceController.java
index 70b2e2d..d8575a0 100644
--- a/src/com/android/settings/development/WindowAnimationScalePreferenceController.java
+++ b/src/com/android/settings/development/WindowAnimationScalePreferenceController.java
@@ -25,7 +25,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -49,9 +48,10 @@
 
         mWindowManager = IWindowManager.Stub.asInterface(
                 ServiceManager.getService(Context.WINDOW_SERVICE));
-        mListValues = context.getResources().getStringArray(R.array.window_animation_scale_values);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.window_animation_scale_values);
         mListSummaries = context.getResources().getStringArray(
-                R.array.window_animation_scale_entries);
+                com.android.settingslib.R.array.window_animation_scale_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/WirelessDebuggingEnabler.java b/src/com/android/settings/development/WirelessDebuggingEnabler.java
index 8fec233..d4e4fc7 100644
--- a/src/com/android/settings/development/WirelessDebuggingEnabler.java
+++ b/src/com/android/settings/development/WirelessDebuggingEnabler.java
@@ -26,7 +26,6 @@
 import android.util.Log;
 import android.widget.Toast;
 
-import com.android.settings.R;
 import com.android.settings.widget.SwitchWidgetController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -125,8 +124,8 @@
     public boolean onSwitchToggled(boolean isChecked) {
         if (isChecked && !WirelessDebuggingPreferenceController.isWifiConnected(mContext)) {
             // No connected Wi-Fi network. Reset the switch to off.
-            Toast.makeText(
-                    mContext, R.string.adb_wireless_no_network_msg, Toast.LENGTH_LONG)
+            Toast.makeText(mContext, com.android.settingslib.R.string.adb_wireless_no_network_msg,
+                            Toast.LENGTH_LONG)
                     .show();
             mSwitchWidget.setChecked(false);
             return false;
diff --git a/src/com/android/settings/development/WirelessDebuggingFragment.java b/src/com/android/settings/development/WirelessDebuggingFragment.java
index 7c60069..8be8d91 100644
--- a/src/com/android/settings/development/WirelessDebuggingFragment.java
+++ b/src/com/android/settings/development/WirelessDebuggingFragment.java
@@ -211,7 +211,8 @@
 
         mOffMessagePreference =
                 new FooterPreference(mFooterCategory.getContext());
-        final CharSequence title = getText(R.string.adb_wireless_list_empty_off);
+        final CharSequence title =
+                getText(com.android.settingslib.R.string.adb_wireless_list_empty_off);
         mOffMessagePreference.setTitle(title);
         mFooterCategory.addPreference(mOffMessagePreference);
     }
@@ -418,7 +419,7 @@
         // For sending to the device details fragment.
         p.savePairedDeviceToExtras(p.getExtras());
         new SubSettingLauncher(getContext())
-                .setTitleRes(R.string.adb_wireless_device_details_title)
+                .setTitleRes(com.android.settingslib.R.string.adb_wireless_device_details_title)
                 .setDestination(AdbDeviceDetailsFragment.class.getName())
                 .setArguments(p.getExtras())
                 .setSourceMetricsCategory(getMetricsCategory())
diff --git a/src/com/android/settings/development/WirelessDebuggingPreferenceController.java b/src/com/android/settings/development/WirelessDebuggingPreferenceController.java
index f637ae1..b9171ac 100644
--- a/src/com/android/settings/development/WirelessDebuggingPreferenceController.java
+++ b/src/com/android/settings/development/WirelessDebuggingPreferenceController.java
@@ -34,7 +34,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -163,7 +162,8 @@
         if (enabled && !isWifiConnected(mContext)) {
             // Cannot enable ADB over Wi-Fi if we're not connected to wifi.
             Toast.makeText(
-                    mContext, R.string.adb_wireless_no_network_msg, Toast.LENGTH_LONG)
+                    mContext, com.android.settingslib.R.string.adb_wireless_no_network_msg,
+                            Toast.LENGTH_LONG)
                     .show();
             return false;
         }
diff --git a/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java b/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java
index 39e2276..b0c60a8 100644
--- a/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java
@@ -103,7 +103,8 @@
             // View will be invisible when all options are enabled.
             helpTextView.setVisibility(View.GONE);
         } else {
-            helpTextView.setText(R.string.bluetooth_select_a2dp_codec_type_help_info);
+            helpTextView.setText(
+                    com.android.settingslib.R.string.bluetooth_select_a2dp_codec_type_help_info);
             helpTextView.setVisibility(View.VISIBLE);
         }
     }
@@ -135,7 +136,8 @@
         }
         return index == getDefaultIndex() ? mSummaryStrings.get(getDefaultIndex()) :
                 String.format(getContext().getResources().getString(
-                        R.string.bluetooth_select_a2dp_codec_streaming_label),
+                        com.android.settingslib.R
+                                .string.bluetooth_select_a2dp_codec_streaming_label),
                         mSummaryStrings.get(index));
     }
 
diff --git a/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java
index 480c208..99eb730 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java
@@ -61,12 +61,12 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_bit_per_sample_24);
         mRadioButtonIds.add(R.id.bluetooth_audio_bit_per_sample_32);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_bits_per_sample_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_bits_per_sample_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
         stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_bits_per_sample_summaries);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_bits_per_sample_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java
index a878f32..4a4191a 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java
@@ -60,12 +60,12 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_channel_mode_mono);
         mRadioButtonIds.add(R.id.bluetooth_audio_channel_mode_stereo);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_channel_mode_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_channel_mode_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
         stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_channel_mode_summaries);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_channel_mode_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java
index 929a6d0..11cfd34 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java
@@ -64,11 +64,12 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_codec_lc3);
         mRadioButtonIds.add(R.id.bluetooth_audio_codec_opus);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
-        stringArray = context.getResources().getStringArray(R.array.bluetooth_a2dp_codec_summaries);
+        stringArray = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.bluetooth_a2dp_codec_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java
index a7d6a11..796cbe8 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java
@@ -65,12 +65,13 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_quality_optimized_connection);
         mRadioButtonIds.add(R.id.bluetooth_audio_quality_best_effort);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_ldac_playback_quality_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_ldac_playback_quality_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
         stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_ldac_playback_quality_summaries);
+                com.android.settingslib.R
+                        .array.bluetooth_a2dp_codec_ldac_playback_quality_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java
index 622c47a..71eda79 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java
@@ -62,12 +62,12 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_sample_rate_882);
         mRadioButtonIds.add(R.id.bluetooth_audio_sample_rate_960);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_sample_rate_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_sample_rate_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
         stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_sample_rate_summaries);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_sample_rate_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java b/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
index 079195c..0ca189d 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
@@ -18,21 +18,26 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
+import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.os.SystemProperties;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.Indexable;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 @SearchIndexable
 public class DevelopmentTileConfigFragment extends DashboardFragment {
     private static final String TAG = "DevelopmentTileConfig";
+    private static final String QS_TILE_PERF = "develop_qs_tile";
 
     @Override
     protected String getLogTag() {
@@ -56,5 +61,61 @@
                 protected boolean isPageSearchEnabled(Context context) {
                     return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
                 }
+
+                @Override
+                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
+                        boolean enabled) {
+                    List<SearchIndexableRaw> result = new ArrayList<>();
+                    // Save the query system property for getNonIndexableKeys to avoid
+                    // getTitleServiceList multiple times
+                    SharedPreferences sharedPref = context.getSharedPreferences(QS_TILE_PERF,
+                            Context.MODE_PRIVATE);
+
+                    List<ServiceInfo> services =
+                            DevelopmentTilePreferenceController.getTileServiceList(context);
+                    PackageManager pm = context.getPackageManager();
+                    SharedPreferences.Editor editor = sharedPref.edit();
+                    for (ServiceInfo sInfo : services) {
+                        SearchIndexableRaw data = new SearchIndexableRaw(context);
+                        data.title = sInfo.loadLabel(pm).toString();
+                        data.key = sInfo.name;
+                        result.add(data);
+
+                        if (sInfo.metaData == null) {
+                            continue;
+                        }
+                        String flag = sInfo.metaData.getString(
+                                DevelopmentTiles.META_DATA_REQUIRES_SYSTEM_PROPERTY);
+                        if (flag == null) {
+                            continue;
+                        }
+                        editor.putString(sInfo.name, flag);
+                    }
+                    editor.apply();
+
+                    return result;
+                }
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    List<String> keys = super.getNonIndexableKeys(context);
+
+                    SharedPreferences sharedPref = context.getSharedPreferences(QS_TILE_PERF,
+                            Context.MODE_PRIVATE);
+                    Map<String, ?> map = sharedPref.getAll();
+                    for (Map.Entry<String, ?> entry : map.entrySet()) {
+                        if (entry.getValue() == null) {
+                            continue;
+                        }
+                        String key = entry.getKey();
+                        String flag = entry.getValue().toString();
+
+                        if (!SystemProperties.getBoolean(flag, false)) {
+                            keys.add(key);
+                        }
+                    }
+
+                    return keys;
+                }
             };
 }
diff --git a/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java b/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java
index 4f506b0..d713ff3 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java
@@ -36,6 +36,7 @@
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.settings.core.BasePreferenceController;
 
+import java.util.ArrayList;
 import java.util.List;
 
 public class DevelopmentTilePreferenceController extends BasePreferenceController {
@@ -59,13 +60,9 @@
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         final Context context = screen.getContext();
-        final Intent intent = new Intent(TileService.ACTION_QS_TILE)
-                .setPackage(context.getPackageName());
-        final List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(intent,
-                PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.GET_META_DATA);
-        for (ResolveInfo info : resolveInfos) {
-            ServiceInfo sInfo = info.serviceInfo;
+        List<ServiceInfo> serviceInfos = getTileServiceList(context);
 
+        for (ServiceInfo sInfo : serviceInfos) {
             // Check if the tile requires a flag. If it does, hide tile if flag is off.
             if (sInfo.metaData != null) {
                 String flag = sInfo.metaData.getString(
@@ -95,6 +92,24 @@
         }
     }
 
+    /**
+     * Get Quick Settings services from PackageManager
+     */
+    public static List<ServiceInfo> getTileServiceList(Context context) {
+        Intent intent = new Intent(TileService.ACTION_QS_TILE)
+                .setPackage(context.getPackageName());
+        PackageManager packageManager = context.getPackageManager();
+        List<ResolveInfo> resolveInfos = packageManager.queryIntentServices(intent,
+                PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.GET_META_DATA);
+
+        List<ServiceInfo> servicesInfos = new ArrayList<>();
+        for (ResolveInfo info : resolveInfos) {
+            ServiceInfo sInfo = info.serviceInfo;
+            servicesInfos.add(sInfo);
+        }
+        return servicesInfos;
+    }
+
     @VisibleForTesting
     static class OnChangeHandler implements Preference.OnPreferenceChangeListener {
 
diff --git a/src/com/android/settings/development/qstile/DevelopmentTiles.java b/src/com/android/settings/development/qstile/DevelopmentTiles.java
index 71a50b9..4662149 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTiles.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTiles.java
@@ -50,7 +50,6 @@
 import com.android.internal.app.LocalePicker;
 import com.android.internal.inputmethod.ImeTracing;
 import com.android.internal.statusbar.IStatusBarService;
-import com.android.settings.R;
 import com.android.settings.development.WirelessDebuggingPreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -388,8 +387,8 @@
             mSensorPrivacyManager = (SensorPrivacyManager) mContext.getSystemService(
                     Context.SENSOR_PRIVACY_SERVICE);
             mIsEnabled = mSensorPrivacyManager.isAllSensorPrivacyEnabled();
-            mMetricsFeatureProvider = FeatureFactory.getFactory(
-                    mContext).getMetricsFeatureProvider();
+            mMetricsFeatureProvider = FeatureFactory.getFeatureFactory()
+                    .getMetricsFeatureProvider();
             mKeyguardManager = (KeyguardManager) mContext.getSystemService(
                     Context.KEYGUARD_SERVICE);
         }
@@ -433,7 +432,8 @@
             mContext = getApplicationContext();
             mKeyguardManager = (KeyguardManager) mContext.getSystemService(
                     Context.KEYGUARD_SERVICE);
-            mToast = Toast.makeText(mContext, R.string.adb_wireless_no_network_msg,
+            mToast = Toast.makeText(mContext,
+                    com.android.settingslib.R.string.adb_wireless_no_network_msg,
                     Toast.LENGTH_LONG);
         }
 
diff --git a/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceController.java b/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceController.java
index 8262182..b32d161 100644
--- a/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceController.java
+++ b/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceController.java
@@ -22,7 +22,6 @@
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 /** A {@link BasePreferenceController} used in {@link SnoopLoggerFiltersDashboard} */
@@ -35,9 +34,11 @@
     public SnoopLoggerFiltersPreferenceController(Context context, String key) {
         super(context, key);
         mListValues =
-                context.getResources().getStringArray(R.array.bt_hci_snoop_log_filters_values);
+                context.getResources().getStringArray(
+                        com.android.settingslib.R.array.bt_hci_snoop_log_filters_values);
         mListEntries =
-                context.getResources().getStringArray(R.array.bt_hci_snoop_log_filters_entries);
+                context.getResources().getStringArray(
+                        com.android.settingslib.R.array.bt_hci_snoop_log_filters_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/storage/BlobInfoListView.java b/src/com/android/settings/development/storage/BlobInfoListView.java
index d3c7033..36d6c7a 100644
--- a/src/com/android/settings/development/storage/BlobInfoListView.java
+++ b/src/com/android/settings/development/storage/BlobInfoListView.java
@@ -83,7 +83,8 @@
         super.onActivityResult(requestCode, resultCode, data);
         if (requestCode == SharedDataUtils.LEASE_VIEW_REQUEST_CODE
                 && resultCode == SharedDataUtils.LEASE_VIEW_RESULT_CODE_FAILURE) {
-            Toast.makeText(this, R.string.shared_data_delete_failure_text, Toast.LENGTH_LONG)
+            Toast.makeText(this, com.android.settingslib.R.string.shared_data_delete_failure_text,
+                            Toast.LENGTH_LONG)
                     .show();
         }
         // do nothing on LEASE_VIEW_RESULT_CODE_SUCCESS since data is updated in onResume()
@@ -103,7 +104,7 @@
 
     private void showDeleteBlobDialog(BlobInfo blob) {
         final AlertDialog dialog = new AlertDialog.Builder(mContext)
-                .setMessage(R.string.shared_data_no_accessors_dialog_text)
+                .setMessage(com.android.settingslib.R.string.shared_data_no_accessors_dialog_text)
                 .setPositiveButton(android.R.string.ok, getDialogOnClickListener(blob))
                 .setNegativeButton(android.R.string.cancel, null)
                 .create();
@@ -116,7 +117,9 @@
                 mBlobStoreManager.deleteBlob(blob);
             } catch (IOException e) {
                 Log.e(TAG, "Unable to delete blob: " + e.getMessage());
-                Toast.makeText(this, R.string.shared_data_delete_failure_text, Toast.LENGTH_LONG)
+                Toast.makeText(this,
+                                com.android.settingslib.R.string.shared_data_delete_failure_text,
+                                Toast.LENGTH_LONG)
                         .show();
             }
             queryBlobsAndUpdateList();
@@ -128,7 +131,8 @@
             mAdapter.updateList(mBlobStoreManager.queryBlobsForUser(UserHandle.CURRENT));
         } catch (IOException e) {
             Log.e(TAG, "Unable to fetch blobs for current user: " + e.getMessage());
-            Toast.makeText(this, R.string.shared_data_query_failure_text, Toast.LENGTH_LONG).show();
+            Toast.makeText(this, com.android.settingslib.R.string.shared_data_query_failure_text,
+                    Toast.LENGTH_LONG).show();
             finish();
         }
     }
@@ -155,7 +159,8 @@
 
             final BlobInfo blob = getItem(position);
             holder.blobLabel.setText(blob.getLabel());
-            holder.blobId.setText(getString(R.string.blob_id_text, blob.getId()));
+            holder.blobId.setText(
+                    getString(com.android.settingslib.R.string.blob_id_text, blob.getId()));
             holder.blobExpiry.setText(formatExpiryTime(blob.getExpiryTimeMs()));
             holder.blobSize.setText(SharedDataUtils.formatSize(blob.getSizeBytes()));
             return convertView;
@@ -165,7 +170,8 @@
             if (expiryTimeMs == 0) {
                 return getString(R.string.blob_never_expires_text);
             }
-            return getString(R.string.blob_expires_text, SharedDataUtils.formatTime(expiryTimeMs));
+            return getString(com.android.settingslib.R.string.blob_expires_text,
+                    SharedDataUtils.formatTime(expiryTimeMs));
         }
     }
 }
diff --git a/src/com/android/settings/development/storage/LeaseInfoListView.java b/src/com/android/settings/development/storage/LeaseInfoListView.java
index 597e155..bc97119 100644
--- a/src/com/android/settings/development/storage/LeaseInfoListView.java
+++ b/src/com/android/settings/development/storage/LeaseInfoListView.java
@@ -100,7 +100,7 @@
 
         blobLabel.setText(mBlobInfo.getLabel());
         blobLabel.setTypeface(Typeface.DEFAULT_BOLD);
-        blobId.setText(getString(R.string.blob_id_text, mBlobInfo.getId()));
+        blobId.setText(getString(com.android.settingslib.R.string.blob_id_text, mBlobInfo.getId()));
         blobExpiry.setVisibility(View.GONE);
         blobSize.setText(SharedDataUtils.formatSize(mBlobInfo.getSizeBytes()));
         return headerView;
@@ -110,7 +110,7 @@
         final Button deleteButton = new Button(this);
         deleteButton.setLayoutParams(
                 new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
-        deleteButton.setText(R.string.delete_blob_text);
+        deleteButton.setText(com.android.settingslib.R.string.delete_blob_text);
         deleteButton.setOnClickListener(getButtonOnClickListener());
         return deleteButton;
     }
@@ -118,7 +118,7 @@
     private View.OnClickListener getButtonOnClickListener() {
         return v -> {
             final AlertDialog dialog = new AlertDialog.Builder(mContext)
-                    .setMessage(R.string.delete_blob_confirmation_text)
+                    .setMessage(com.android.settingslib.R.string.delete_blob_confirmation_text)
                     .setPositiveButton(android.R.string.ok, getDialogOnClickListener())
                     .setNegativeButton(android.R.string.cancel, null)
                     .create();
@@ -185,7 +185,8 @@
                 }
             } finally {
                 if (TextUtils.isEmpty(description)) {
-                    description = getString(R.string.accessor_no_description_text);
+                    description = getString(
+                            com.android.settingslib.R.string.accessor_no_description_text);
                 }
             }
             return description;
@@ -195,7 +196,7 @@
             if (expiryTimeMillis == 0) {
                 return getString(R.string.accessor_never_expires_text);
             }
-            return getString(R.string.accessor_expires_text,
+            return getString(com.android.settingslib.R.string.accessor_expires_text,
                     SharedDataUtils.formatTime(expiryTimeMillis));
         }
     }
diff --git a/src/com/android/settings/development/storage/SharedDataPreferenceController.java b/src/com/android/settings/development/storage/SharedDataPreferenceController.java
index 5d94dc8..88f317b 100644
--- a/src/com/android/settings/development/storage/SharedDataPreferenceController.java
+++ b/src/com/android/settings/development/storage/SharedDataPreferenceController.java
@@ -23,7 +23,6 @@
 
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -52,12 +51,13 @@
             final boolean showPref = mBlobStoreManager != null
                     && !mBlobStoreManager.queryBlobsForUser(UserHandle.CURRENT).isEmpty();
             preference.setEnabled(showPref);
-            preference.setSummary(showPref ? R.string.shared_data_summary
-                                           : R.string.shared_data_no_blobs_text);
+            preference.setSummary(
+                    showPref ? com.android.settingslib.R.string.shared_data_summary
+                            : com.android.settingslib.R.string.shared_data_no_blobs_text);
         } catch (IOException e) {
             Log.e(TAG, "Unable to fetch blobs for current user: " + e.getMessage());
             preference.setEnabled(false);
-            preference.setSummary(R.string.shared_data_no_blobs_text);
+            preference.setSummary(com.android.settingslib.R.string.shared_data_no_blobs_text);
         }
     }
 }
diff --git a/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java b/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java
index f00a327..9daa43d 100644
--- a/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java
@@ -38,7 +38,7 @@
 
     public BrandedAccountPreferenceController(Context context, String key) {
         super(context, key);
-        mAccountFeatureProvider = FeatureFactory.getFactory(mContext).getAccountFeatureProvider();
+        mAccountFeatureProvider = FeatureFactory.getFeatureFactory().getAccountFeatureProvider();
         mAccounts = mAccountFeatureProvider.getAccounts(mContext);
     }
 
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index 55b38af..6fe3ca4 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -46,8 +46,8 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
-
 import com.android.settingslib.utils.StringUtil;
+
 import com.google.android.setupcompat.util.WizardManagerHelper;
 
 public class BuildNumberPreferenceController extends BasePreferenceController implements
@@ -70,7 +70,7 @@
     public BuildNumberPreferenceController(Context context, String key) {
         super(context, key);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public void setHost(InstrumentedPreferenceFragment fragment) {
@@ -241,7 +241,7 @@
                 Toast.LENGTH_LONG);
         mDevHitToast.show();
 
-        FeatureFactory.getFactory(mContext).getSearchFeatureProvider().sendPreIndexIntent(mContext);
+        FeatureFactory.getFeatureFactory().getSearchFeatureProvider().sendPreIndexIntent(mContext);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/deviceinfo/StorageWizardBase.java b/src/com/android/settings/deviceinfo/StorageWizardBase.java
index ad3c2c5..ba0cd33 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardBase.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardBase.java
@@ -116,7 +116,7 @@
                 .setText(R.string.wizard_back)
                 .setListener(this::onNavigateBack)
                 .setButtonType(FooterButton.ButtonType.OTHER)
-                .setTheme(R.style.SudGlifButton_Secondary)
+                .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                 .build()
         );
         mFooterBarMixin.setPrimaryButton(
@@ -124,7 +124,7 @@
                 .setText(R.string.wizard_next)
                 .setListener(this::onNavigateNext)
                 .setButtonType(FooterButton.ButtonType.NEXT)
-                .setTheme(R.style.SudGlifButton_Primary)
+                .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                 .build()
         );
         mBack = mFooterBarMixin.getSecondaryButton();
diff --git a/src/com/android/settings/deviceinfo/StorageWizardFormatSlow.java b/src/com/android/settings/deviceinfo/StorageWizardFormatSlow.java
index 79f97de8..b59d169 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardFormatSlow.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardFormatSlow.java
@@ -57,7 +57,7 @@
 
     @Override
     public void onNavigateBack(View view) {
-        FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_BENCHMARK_SLOW_ABORT);
 
         final Intent intent = new Intent(this, StorageWizardInit.class);
@@ -69,11 +69,11 @@
     public void onNavigateNext(View view) {
         if (view != null) {
             // User made an explicit choice to continue when slow
-            FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                     SettingsEnums.ACTION_STORAGE_BENCHMARK_SLOW_CONTINUE);
         } else {
             // User made an implicit choice to continue when fast
-            FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                     SettingsEnums.ACTION_STORAGE_BENCHMARK_FAST_CONTINUE);
         }
 
diff --git a/src/com/android/settings/deviceinfo/StorageWizardInit.java b/src/com/android/settings/deviceinfo/StorageWizardInit.java
index 8d04983..b912ffe 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardInit.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardInit.java
@@ -133,7 +133,7 @@
     public void onNavigateExternal(View view) {
         if (view != null) {
             // User made an explicit choice for external
-            FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_INIT_EXTERNAL);
         }
         StorageWizardFormatConfirm.showPublic(this, mDisk.getId());
@@ -142,7 +142,7 @@
     public void onNavigateInternal(View view) {
         if (view != null) {
             // User made an explicit choice for internal
-            FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_INIT_INTERNAL);
         }
         StorageWizardFormatConfirm.showPrivate(this, mDisk.getId());
diff --git a/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java b/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
index f65dd24..ce17418 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
@@ -82,7 +82,7 @@
 
     @Override
     public void onNavigateBack(View view) {
-        FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_MIGRATE_LATER);
 
         if (mDisk != null) {
@@ -142,7 +142,7 @@
             return;
         }
 
-        FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_MIGRATE_NOW);
 
         final Intent intent = new Intent(this, StorageWizardMigrateProgress.class);
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
index 6c7a743..0b75099 100644
--- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
@@ -38,8 +38,8 @@
 
     public BatteryFirstUseDatePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mBatterySettingsFeatureProvider = FeatureFactory.getFactory(
-                context).getBatterySettingsFeatureProvider();
+        mBatterySettingsFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getBatterySettingsFeatureProvider();
         mBatteryManager = mContext.getSystemService(BatteryManager.class);
     }
 
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
index ff54c77..15d6b28 100644
--- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
@@ -38,8 +38,8 @@
 
     public BatteryManufactureDatePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mBatterySettingsFeatureProvider = FeatureFactory.getFactory(
-                context).getBatterySettingsFeatureProvider();
+        mBatterySettingsFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getBatterySettingsFeatureProvider();
         mBatteryManager = mContext.getSystemService(BatteryManager.class);
     }
 
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
index d3058ce..a74c426 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
@@ -630,24 +630,24 @@
         @Override
         public void onRegistered(@AccessNetworkConstants.TransportType int imsTransportType) {
             mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
-                    R.string.ims_reg_status_registered));
+                    com.android.settingslib.R.string.ims_reg_status_registered));
         }
         @Override
         public void onRegistering(@AccessNetworkConstants.TransportType int imsTransportType) {
             mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
-                    R.string.ims_reg_status_not_registered));
+                    com.android.settingslib.R.string.ims_reg_status_not_registered));
         }
         @Override
         public void onUnregistered(@Nullable ImsReasonInfo info) {
             mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
-                    R.string.ims_reg_status_not_registered));
+                    com.android.settingslib.R.string.ims_reg_status_not_registered));
         }
         @Override
         public void onTechnologyChangeFailed(
                 @AccessNetworkConstants.TransportType int imsTransportType,
                 @Nullable ImsReasonInfo info) {
             mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
-                    R.string.ims_reg_status_not_registered));
+                    com.android.settingslib.R.string.ims_reg_status_not_registered));
         }
     };
 
diff --git a/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java b/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
index 84d88e3..b98fbda 100644
--- a/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
@@ -50,7 +50,7 @@
 
     public AutomaticStorageManagementSwitchPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public AutomaticStorageManagementSwitchPreferenceController setFragmentManager(
diff --git a/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java b/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java
index 9613b55..442531b 100644
--- a/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java
@@ -71,7 +71,7 @@
         }
 
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(mContext, SettingsEnums.STORAGE_FREE_UP_SPACE_NOW);
 
         final Intent intent = new Intent(StorageManager.ACTION_MANAGE_STORAGE);
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
index d2471b7..a57cd5b 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -151,7 +151,7 @@
         mVolume = volume;
         mSvp = svp;
         mIsWorkProfile = isWorkProfile;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mUserId = getCurrentUserId();
         mIsDocumentsPrefShown = isDocumentsPrefShown();
         mStorageCacheHelper = new StorageCacheHelper(mContext, mUserId);
diff --git a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
index b21c6ac..725b956 100644
--- a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
+++ b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
@@ -62,7 +62,7 @@
     public AdaptiveSleepPreferenceController(Context context, RestrictionUtils restrictionUtils) {
         mContext = context;
         mRestrictionUtils = restrictionUtils;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mPrivacyManager = SensorPrivacyManager.getInstance(context);
         mPowerManager = context.getSystemService(PowerManager.class);
         mPackageManager = context.getPackageManager();
diff --git a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
index a5b0aeb..71d431a 100644
--- a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
@@ -45,7 +45,7 @@
 
     public AmbientDisplayNotificationsPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     /**
diff --git a/src/com/android/settings/display/AutoRotatePreferenceController.java b/src/com/android/settings/display/AutoRotatePreferenceController.java
index 90423fb..f16cbfb 100644
--- a/src/com/android/settings/display/AutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/AutoRotatePreferenceController.java
@@ -39,7 +39,7 @@
 
     public AutoRotatePreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/display/AutoRotateSwitchBarController.java b/src/com/android/settings/display/AutoRotateSwitchBarController.java
index d76104a..93420b0 100644
--- a/src/com/android/settings/display/AutoRotateSwitchBarController.java
+++ b/src/com/android/settings/display/AutoRotateSwitchBarController.java
@@ -39,7 +39,7 @@
 
     public AutoRotateSwitchBarController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/display/BatteryPercentagePreferenceController.java b/src/com/android/settings/display/BatteryPercentagePreferenceController.java
index 74624e8..22915ee 100644
--- a/src/com/android/settings/display/BatteryPercentagePreferenceController.java
+++ b/src/com/android/settings/display/BatteryPercentagePreferenceController.java
@@ -79,7 +79,7 @@
         boolean showPercentage = (Boolean) newValue;
         Settings.System.putInt(mContext.getContentResolver(), SHOW_BATTERY_PERCENT,
                 showPercentage ? 1 : 0);
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(mContext, SettingsEnums.OPEN_BATTERY_PERCENTAGE, showPercentage);
         return true;
     }
diff --git a/src/com/android/settings/display/ControlsPrivacyPreferenceController.java b/src/com/android/settings/display/ControlsPrivacyPreferenceController.java
index 5b5b900..b9a2bfa 100644
--- a/src/com/android/settings/display/ControlsPrivacyPreferenceController.java
+++ b/src/com/android/settings/display/ControlsPrivacyPreferenceController.java
@@ -88,7 +88,7 @@
     }
 
     private boolean isSecure() {
-        final LockPatternUtils utils = FeatureFactory.getFactory(mContext)
+        final LockPatternUtils utils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(mContext);
         final int userId = UserHandle.myUserId();
diff --git a/src/com/android/settings/display/DeviceStateAutoRotateSettingController.java b/src/com/android/settings/display/DeviceStateAutoRotateSettingController.java
index beefc05..69b34b0 100644
--- a/src/com/android/settings/display/DeviceStateAutoRotateSettingController.java
+++ b/src/com/android/settings/display/DeviceStateAutoRotateSettingController.java
@@ -67,7 +67,7 @@
     public DeviceStateAutoRotateSettingController(Context context, int deviceState,
             String deviceStateDescription, int order) {
         this(context, deviceState, deviceStateDescription, order,
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider());
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider());
     }
 
     void init(Lifecycle lifecycle) {
diff --git a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
index d0d4822..c94f443 100644
--- a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
@@ -47,7 +47,7 @@
 
         mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
         mTimeFormatter = new NightDisplayTimeFormatter(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/display/ScreenResolutionFragment.java b/src/com/android/settings/display/ScreenResolutionFragment.java
index daf1793..bb1d910 100644
--- a/src/com/android/settings/display/ScreenResolutionFragment.java
+++ b/src/com/android/settings/display/ScreenResolutionFragment.java
@@ -107,7 +107,8 @@
         final FooterPreference footerPreference = new FooterPreference(screen.getContext());
         footerPreference.setTitle(R.string.screen_resolution_footer);
         footerPreference.setSelectable(false);
-        footerPreference.setLayoutResource(R.layout.preference_footer);
+        footerPreference.setLayoutResource(
+                com.android.settingslib.widget.R.layout.preference_footer);
         screen.addPreference(footerPreference);
     }
 
diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java
index 8ca8e0e..fb6ddb8 100644
--- a/src/com/android/settings/display/ScreenTimeoutSettings.java
+++ b/src/com/android/settings/display/ScreenTimeoutSettings.java
@@ -106,7 +106,7 @@
 
     public ScreenTimeoutSettings() {
         super();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(getContext())
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getMetricsFeatureProvider();
     }
 
@@ -128,7 +128,8 @@
         mPrivacyPreference.setIcon(R.drawable.ic_privacy_shield_24dp);
         mPrivacyPreference.setTitle(R.string.adaptive_sleep_privacy);
         mPrivacyPreference.setSelectable(false);
-        mPrivacyPreference.setLayoutResource(R.layout.preference_footer);
+        mPrivacyPreference.setLayoutResource(
+                com.android.settingslib.widget.R.layout.preference_footer);
         mPrivacyManager = SensorPrivacyManager.getInstance(context);
         mPrivacyChangedListener = (sensor, enabled) -> mAdaptiveSleepController.updatePreference();
     }
@@ -201,7 +202,8 @@
         mPrivacyPreference.setIcon(R.drawable.ic_privacy_shield_24dp);
         mPrivacyPreference.setTitle(R.string.adaptive_sleep_privacy);
         mPrivacyPreference.setSelectable(false);
-        mPrivacyPreference.setLayoutResource(R.layout.preference_footer);
+        mPrivacyPreference.setLayoutResource(
+                com.android.settingslib.widget.R.layout.preference_footer);
 
         if (isScreenAttentionAvailable(getContext())) {
             mAdaptiveSleepPermissionController.addToScreen(screen);
diff --git a/src/com/android/settings/display/SmartAutoRotateController.java b/src/com/android/settings/display/SmartAutoRotateController.java
index 768a6c1..b5e3af2 100644
--- a/src/com/android/settings/display/SmartAutoRotateController.java
+++ b/src/com/android/settings/display/SmartAutoRotateController.java
@@ -81,7 +81,7 @@
 
     public SmartAutoRotateController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mPrivacyManager = SensorPrivacyManager.getInstance(context);
         mPowerManager = context.getSystemService(PowerManager.class);
         mDeviceStateAutoRotateSettingsManager = DeviceStateRotationLockSettingsManager.getInstance(
diff --git a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
index 3747f06..311068f 100644
--- a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
@@ -79,7 +79,7 @@
         super(context, preferenceKey);
         mPrivacyManager = SensorPrivacyManager.getInstance(context);
         mPowerManager = context.getSystemService(PowerManager.class);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/display/ThemePreferenceController.java b/src/com/android/settings/display/ThemePreferenceController.java
index 1dbf87f..25c6b69 100644
--- a/src/com/android/settings/display/ThemePreferenceController.java
+++ b/src/com/android/settings/display/ThemePreferenceController.java
@@ -59,7 +59,7 @@
         super(context);
         mOverlayService = overlayManager;
         mPackageManager = context.getPackageManager();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/display/TwilightLocationPreferenceController.java b/src/com/android/settings/display/TwilightLocationPreferenceController.java
index af93047..9e35fc6 100644
--- a/src/com/android/settings/display/TwilightLocationPreferenceController.java
+++ b/src/com/android/settings/display/TwilightLocationPreferenceController.java
@@ -39,7 +39,7 @@
     public TwilightLocationPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mLocationManager = context.getSystemService(LocationManager.class);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/display/WalletPrivacyPreferenceController.java b/src/com/android/settings/display/WalletPrivacyPreferenceController.java
index f40e838..77fa079 100644
--- a/src/com/android/settings/display/WalletPrivacyPreferenceController.java
+++ b/src/com/android/settings/display/WalletPrivacyPreferenceController.java
@@ -89,7 +89,7 @@
     }
 
     private boolean isSecure() {
-        final LockPatternUtils utils = FeatureFactory.getFactory(mContext)
+        final LockPatternUtils utils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(mContext);
         int userId = UserHandle.myUserId();
diff --git a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
index 66ab2d3..eac714b 100644
--- a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
@@ -47,7 +47,7 @@
         super(context, preferenceKey);
         mUiModeManager = context.getSystemService(UiModeManager.class);
         mFormat = new TimeFormatter(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public DarkModeActivationPreferenceController(Context context, String preferenceKey,
diff --git a/src/com/android/settings/dream/DreamPickerController.java b/src/com/android/settings/dream/DreamPickerController.java
index d7003e6..3eb1fb1 100644
--- a/src/com/android/settings/dream/DreamPickerController.java
+++ b/src/com/android/settings/dream/DreamPickerController.java
@@ -61,7 +61,7 @@
         mBackend = backend;
         mDreamInfos = mBackend.getDreamInfos();
         mActiveDream = getActiveDreamInfo(mDreamInfos);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/emergency/MoreSettingsPreferenceController.java b/src/com/android/settings/emergency/MoreSettingsPreferenceController.java
index d945b21..4771f5a 100644
--- a/src/com/android/settings/emergency/MoreSettingsPreferenceController.java
+++ b/src/com/android/settings/emergency/MoreSettingsPreferenceController.java
@@ -111,7 +111,7 @@
 
     @Override
     public void onClick(View v) {
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .logClickedPreference(mPreference, getMetricsCategory());
         final Intent intent = new Intent(mIntent)
                 .addCategory(Intent.CATEGORY_LAUNCHER)
diff --git a/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java b/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java
index 2376c80..0f4634e 100644
--- a/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java
+++ b/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java
@@ -24,6 +24,7 @@
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.os.Process;
 import android.os.UserHandle;
 import android.view.LayoutInflater;
@@ -88,10 +89,11 @@
 
     public AlertDialog.Builder prepareDialogBuilder(String restriction,
             EnforcedAdmin enforcedAdmin) {
+        DialogInterface.OnClickListener listener = mActionDisabledByAdminController
+                .getPositiveButtonListener(mActivity, enforcedAdmin);
         AlertDialog.Builder builder = new AlertDialog.Builder(mActivity)
-                .setPositiveButton(R.string.suggestion_button_close,
-                        mActionDisabledByAdminController
-                                .getPositiveButtonListener(mActivity, enforcedAdmin))
+                .setPositiveButton(listener == null
+                        ? R.string.suggestion_button_close : R.string.okay, listener)
                 .setView(mDialogView);
         prepareDialogBuilder(builder, restriction, enforcedAdmin);
         return builder;
diff --git a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
index cf1b8a3..bdbdce9 100644
--- a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
@@ -36,8 +36,8 @@
 
     public AdminActionPreferenceControllerBase(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     protected abstract Date getAdminActionTimestamp();
diff --git a/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java b/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java
index f1f9a61..b602791 100644
--- a/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java
+++ b/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java
@@ -35,8 +35,8 @@
 
     public AlwaysOnVpnCurrentUserPreferenceController(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
         mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
     }
 
diff --git a/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java b/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java
index a23af0c..c545a28 100644
--- a/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java
+++ b/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java
@@ -27,8 +27,8 @@
 
     public AlwaysOnVpnManagedProfilePreferenceController(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java b/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java
index 936df25..2e87cb9 100644
--- a/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java
@@ -31,8 +31,8 @@
 
     public CaCertsPreferenceControllerBase(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
index a154ded..da1cb45 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
@@ -168,8 +168,8 @@
     }
 
     public static boolean isPageEnabled(Context context) {
-        return FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context)
+        return FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider()
                 .hasDeviceOwner();
     }
 
diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
index 5e7878e..d72cd8f 100644
--- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
+++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
@@ -71,8 +71,8 @@
         mParent = parent;
         final FeatureFactory factory = FeatureFactory.getFeatureFactory();
         mApplicationFeatureProvider = factory.getApplicationFeatureProvider();
-        mEnterprisePrivacyFeatureProvider = factory.getEnterprisePrivacyFeatureProvider(context);
-        mUserFeatureProvider = factory.getUserFeatureProvider(context);
+        mEnterprisePrivacyFeatureProvider = factory.getEnterprisePrivacyFeatureProvider();
+        mUserFeatureProvider = factory.getUserFeatureProvider();
         buildAppList();
     }
 
@@ -137,11 +137,13 @@
                 if (userInfo.isManagedProfile()) {
                     category.setTitle(devicePolicyManager.getResources().getString(
                             WORK_CATEGORY_HEADER,
-                            () -> mContext.getString(R.string.category_work)));
+                            () -> mContext.getString(
+                                    com.android.settingslib.R.string.category_work)));
                 } else {
                     category.setTitle(devicePolicyManager.getResources().getString(
                             PERSONAL_CATEGORY_HEADER,
-                            () -> mContext.getString(R.string.category_personal)));
+                            () -> mContext.getString(
+                                    com.android.settingslib.R.string.category_personal)));
                 }
                 category.setOrder(i);
                 createPreferences(prefContext, category, mApps.get(i));
diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java
index d09e54b..72a06fe 100644
--- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java
+++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java
@@ -39,7 +39,7 @@
         super(context);
         final FeatureFactory factory = FeatureFactory.getFeatureFactory();
         mApplicationFeatureProvider = factory.getApplicationFeatureProvider();
-        mUserFeatureProvider = factory.getUserFeatureProvider(context);
+        mUserFeatureProvider = factory.getUserFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java b/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java
index f008b18..6bade7c 100644
--- a/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java
@@ -31,8 +31,8 @@
 
     public FailedPasswordWipePreferenceControllerBase(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     protected abstract int getMaximumFailedPasswordsBeforeWipe();
diff --git a/src/com/android/settings/enterprise/ImePreferenceController.java b/src/com/android/settings/enterprise/ImePreferenceController.java
index 2adf52c..ae47d21 100644
--- a/src/com/android/settings/enterprise/ImePreferenceController.java
+++ b/src/com/android/settings/enterprise/ImePreferenceController.java
@@ -34,8 +34,8 @@
 
     public ImePreferenceController(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
index 90a1a1e..4b301d5 100644
--- a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
+++ b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
@@ -31,8 +31,8 @@
 
     public ManageDeviceAdminPreferenceController(Context context, String key) {
         super(context, key);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
         mDevicePolicyManager =
                 mContext.getSystemService(DevicePolicyManager.class);
     }
diff --git a/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java b/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java
index e582fb0..e54fbcb 100644
--- a/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java
+++ b/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java
@@ -39,8 +39,8 @@
 
     PrivacyPreferenceControllerHelper(Context context) {
         mContext = Objects.requireNonNull(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
         mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
     }
 
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 41ead68..b443773 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -270,7 +270,7 @@
         mExecutor.execute(() -> {
             String packageName =
                     getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName());
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .action(
                             getContext(),
                             SettingsEnums.OPEN_APP_BATTERY_USAGE,
@@ -456,7 +456,7 @@
         mExecutor.execute(() -> {
             String packageName =
                     getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName());
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .action(
                             /* attribution */ SettingsEnums.OPEN_APP_BATTERY_USAGE,
                             /* action */ finalMetricCategory,
diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
index 92292fa..d7f1f68 100644
--- a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
@@ -110,7 +110,8 @@
 
     private CharSequence generateLabel(BatteryInfo info) {
         if (Utils.containsIncompatibleChargers(mContext, TAG)) {
-            return mContext.getString(R.string.battery_info_status_not_charging);
+            return mContext.getString(
+                    com.android.settingslib.R.string.battery_info_status_not_charging);
         } else if (BatteryUtils.isBatteryDefenderOn(info)) {
             return null;
         } else if (info.remainingLabel == null
diff --git a/src/com/android/settings/fuelgauge/BatteryInfo.java b/src/com/android/settings/fuelgauge/BatteryInfo.java
index 9f8c2d0..4cc1b1b 100644
--- a/src/com/android/settings/fuelgauge/BatteryInfo.java
+++ b/src/com/android/settings/fuelgauge/BatteryInfo.java
@@ -33,7 +33,6 @@
 import androidx.annotation.WorkerThread;
 
 import com.android.internal.os.BatteryStatsHistoryIterator;
-import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.UsageView;
@@ -133,11 +132,11 @@
         }
         parserList[parsers.length] = parser;
         parseBatteryHistory(parserList);
-        String timeString = context.getString(R.string.charge_length_format,
+        String timeString = context.getString(com.android.settingslib.R.string.charge_length_format,
                 Formatter.formatShortElapsedTime(context, timePeriod));
         String remaining = "";
         if (remainingTimeUs != 0) {
-            remaining = context.getString(R.string.remaining_length_format,
+            remaining = context.getString(com.android.settingslib.R.string.remaining_length_format,
                     Formatter.formatShortElapsedTime(context, remainingTimeUs / 1000));
         }
         view.setBottomLabels(new CharSequence[]{timeString, remaining});
@@ -287,7 +286,7 @@
                 || dockDefenderMode == BatteryUtils.DockDefenderMode.ACTIVE) {
             // Battery defender active, battery charging paused
             info.remainingLabel = null;
-            int chargingLimitedResId = R.string.power_charging_limited;
+            int chargingLimitedResId = com.android.settingslib.R.string.power_charging_limited;
             info.chargeLabel = context.getString(chargingLimitedResId, info.batteryPercentString);
         } else if ((chargeTimeMs > 0 && status != BatteryManager.BATTERY_STATUS_FULL
                 && dockDefenderMode == BatteryUtils.DockDefenderMode.DISABLED)
@@ -297,22 +296,24 @@
             final CharSequence timeString = StringUtil.formatElapsedTime(context,
                     (double) PowerUtil.convertUsToMs(info.remainingTimeUs), false /* withSeconds */,
                     true /* collapseTimeUnit */);
-            int resId = R.string.power_charging_duration;
+            int resId = com.android.settingslib.R.string.power_charging_duration;
             info.remainingLabel = chargeTimeMs <= 0 ? null : context.getString(
-                    R.string.power_remaining_charging_duration_only, timeString);
+                    com.android.settingslib.R.string.power_remaining_charging_duration_only,
+                    timeString);
             info.chargeLabel = chargeTimeMs <= 0 ? info.batteryPercentString
                     : context.getString(resId, info.batteryPercentString, timeString);
         } else if (dockDefenderMode == BatteryUtils.DockDefenderMode.FUTURE_BYPASS) {
             // Dock defender will be triggered in the future, charging will be optimized.
-            info.chargeLabel = context.getString(R.string.power_charging_future_paused,
+            info.chargeLabel = context.getString(
+                    com.android.settingslib.R.string.power_charging_future_paused,
                     info.batteryPercentString);
         } else {
             final String chargeStatusLabel = Utils.getBatteryStatus(context, batteryBroadcast,
                     compactStatus);
             info.remainingLabel = null;
             info.chargeLabel = info.batteryLevel == 100 ? info.batteryPercentString :
-                    resources.getString(R.string.power_charging, info.batteryPercentString,
-                            chargeStatusLabel);
+                    resources.getString(com.android.settingslib.R.string.power_charging,
+                            info.batteryPercentString, chargeStatusLabel);
         }
     }
 
diff --git a/src/com/android/settings/fuelgauge/BatteryMeterView.java b/src/com/android/settings/fuelgauge/BatteryMeterView.java
index 4a0dc1d..1cd9f71 100644
--- a/src/com/android/settings/fuelgauge/BatteryMeterView.java
+++ b/src/com/android/settings/fuelgauge/BatteryMeterView.java
@@ -49,7 +49,8 @@
     public BatteryMeterView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
 
-        final int frameColor = context.getColor(R.color.meter_background_color);
+        final int frameColor =
+                context.getColor(com.android.settingslib.R.color.meter_background_color);
         mAccentColorFilter = Utils.getAlphaInvariantColorFilterForColor(
                 Utils.getColorAttrDefaultColor(context, android.R.attr.colorAccent));
         mErrorColorFilter = Utils.getAlphaInvariantColorFilterForColor(
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java b/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java
index 4b9e6ef..8697e43 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java
@@ -16,8 +16,8 @@
 
 package com.android.settings.fuelgauge;
 
-import android.content.ContentResolver;
 import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
@@ -25,8 +25,6 @@
 
 import androidx.annotation.VisibleForTesting;
 
-import com.android.settings.R;
-import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry;
 import com.android.settings.fuelgauge.batterysaver.BatterySaverScheduleRadioButtonsController;
 import com.android.settingslib.fuelgauge.BatterySaverUtils;
 
@@ -41,6 +39,7 @@
 
     @Override
     public void onReceive(Context context, Intent intent) {
+        Log.d(TAG, "onReceive: " + intent + " owner: " + BatteryBackupHelper.isOwner());
         if (intent != null
                 && Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())
                 && BatteryBackupHelper.isOwner()) {
diff --git a/src/com/android/settings/fuelgauge/HighPowerDetail.java b/src/com/android/settings/fuelgauge/HighPowerDetail.java
index f3a188f..dc9150a 100644
--- a/src/com/android/settings/fuelgauge/HighPowerDetail.java
+++ b/src/com/android/settings/fuelgauge/HighPowerDetail.java
@@ -155,7 +155,7 @@
     static void logSpecialPermissionChange(boolean allowlist, String packageName, Context context) {
         int logCategory = allowlist ? SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_DENY
                 : SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_ALLOW;
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context, logCategory,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context, logCategory,
                 packageName);
     }
 
diff --git a/src/com/android/settings/fuelgauge/InactiveApps.java b/src/com/android/settings/fuelgauge/InactiveApps.java
index 284e5be..a629fce 100644
--- a/src/com/android/settings/fuelgauge/InactiveApps.java
+++ b/src/com/android/settings/fuelgauge/InactiveApps.java
@@ -71,7 +71,7 @@
 
         mUsageStats = getActivity().getSystemService(UsageStatsManager.class);
         addPreferencesFromResource(R.xml.placeholder_preference_screen);
-        getActivity().setTitle(R.string.inactive_apps_title);
+        getActivity().setTitle(com.android.settingslib.R.string.inactive_apps_title);
     }
 
     @Override
@@ -148,7 +148,8 @@
         final Resources res = getActivity().getResources();
         final int appBucket = mUsageStats.getAppStandbyBucket(p.getKey());
         final String bucketName = bucketToName(appBucket);
-        p.setSummary(res.getString(R.string.standby_bucket_summary, bucketName));
+        p.setSummary(res.getString(
+                com.android.settingslib.R.string.standby_bucket_summary, bucketName));
         // Buckets outside of the range of the dynamic ones are only used for special
         // purposes and can either not be changed out of, or might have undesirable
         // side-effects in combination with other assumptions.
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index d345be9..258ded1 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -38,6 +38,16 @@
     boolean isBatteryUsageEnabled();
 
     /**
+     * Check whether the battery tips card is enabled in the battery usage page
+     */
+    boolean isBatteryTipsEnabled();
+
+    /**
+     * Check whether the feedback card is enabled in the battery tips card
+     */
+    boolean isBatteryTipsFeedbackEnabled();
+
+    /**
      * Returns a threshold (in milliseconds) for the minimal screen on time in battery usage list
      */
     double getBatteryUsageListScreenOnTimeThresholdInMs();
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index e4c6fd9d..9b5bb5e 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -76,6 +76,16 @@
     }
 
     @Override
+    public boolean isBatteryTipsEnabled() {
+        return false;
+    }
+
+    @Override
+    public boolean isBatteryTipsFeedbackEnabled() {
+        return true;
+    }
+
+    @Override
     public double getBatteryUsageListScreenOnTimeThresholdInMs() {
         return 0;
     }
diff --git a/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java b/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
index d43a488..e17119f 100644
--- a/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
@@ -86,7 +86,7 @@
             // start fragment
             RestrictedAppDetails.startRestrictedAppDetails(mPreferenceFragment,
                     mAppInfos);
-            FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .action(mContext, SettingsEnums.OPEN_APP_RESTRICTED_LIST);
             return true;
         }
diff --git a/src/com/android/settings/fuelgauge/RestrictedAppDetails.java b/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
index 77eaa23..8cc59d0 100644
--- a/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
+++ b/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
@@ -105,7 +105,7 @@
         mBatteryUtils = BatteryUtils.getInstance(context);
         mBatteryDatabaseManager = BatteryDatabaseManager.getInstance(context);
         mMetricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         refreshUi();
     }
 
diff --git a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
index 7287302..b514888 100644
--- a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
@@ -138,7 +138,8 @@
 
     private CharSequence generateLabel(BatteryInfo info) {
         if (Utils.containsIncompatibleChargers(mContext, TAG)) {
-            return mContext.getString(R.string.battery_info_status_not_charging);
+            return mContext.getString(
+                    com.android.settingslib.R.string.battery_info_status_not_charging);
         }
         if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
             // Present status only if no remaining time or status anomalous
@@ -148,7 +149,8 @@
         } else if (info.remainingLabel == null) {
             return info.batteryPercentString;
         } else {
-            return mContext.getString(R.string.power_remaining_settings_home_page,
+            return mContext.getString(
+                    com.android.settingslib.R.string.power_remaining_settings_home_page,
                     info.batteryPercentString,
                     info.remainingLabel);
         }
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
index 1a7fdaf..2d841bd 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
@@ -180,7 +180,7 @@
                 && mSaverPercentage == currentSaverPercentage) {
             return;
         }
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(SettingsEnums.FUELGAUGE_BATTERY_SAVER,
                         SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
                         SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
index b041003..1a0ca4e 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
@@ -66,7 +66,7 @@
     public BatteryTipPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mBatteryTipMap = new HashMap<>();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mNeedUpdate = true;
     }
 
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java
index 0ae2c14..65aa076 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java
@@ -30,7 +30,7 @@
 
     public BatteryTipAction(Context context) {
         mContext = context;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     /**
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java
index 1c5616f..48cfb7a 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java
@@ -52,7 +52,7 @@
 
     @Override
     public int getIconId() {
-        return R.drawable.ic_battery_alert_theme;
+        return R.drawable.ic_battery_charger;
     }
 
     @Override
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
index 17d9c8a..6652043 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
@@ -98,6 +98,20 @@
         void onScreenOnTimeUpdated(Long screenOnTime, String slotTimestamp);
     }
 
+    /**
+     * A callback listener for the battery tips card is updated.
+     * This happens when battery tips card is ready.
+     */
+    public interface OnBatteryTipsUpdatedListener {
+        /**
+         * The callback function for the battery tips card is updated.
+         * @param title the title of the battery tip card
+         * @param summary the summary of the battery tip card
+         */
+        void onBatteryTipsUpdated(String title, String summary);
+    }
+
+
     @VisibleForTesting
     Context mPrefContext;
     @VisibleForTesting
@@ -119,6 +133,7 @@
     private List<BatteryChartViewModel> mHourlyViewModels;
     private OnBatteryUsageUpdatedListener mOnBatteryUsageUpdatedListener;
     private OnScreenOnTimeUpdatedListener mOnScreenOnTimeUpdatedListener;
+    private OnBatteryTipsUpdatedListener mOnBatteryTipsUpdatedListener;
 
     private final SettingsActivity mActivity;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
@@ -141,7 +156,7 @@
         mActivity = activity;
         mIs24HourFormat = DateFormat.is24HourFormat(context);
         mMetricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         if (lifecycle != null) {
             lifecycle.addObserver(this);
         }
@@ -209,6 +224,10 @@
         mOnScreenOnTimeUpdatedListener = listener;
     }
 
+    void setOnBatteryTipsUpdatedListener(OnBatteryTipsUpdatedListener listener) {
+        mOnBatteryTipsUpdatedListener = listener;
+    }
+
     void setBatteryHistoryMap(
             final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
         Log.d(TAG, "setBatteryHistoryMap() " + (batteryHistoryMap == null ? "null"
@@ -344,6 +363,10 @@
             }
             mOnBatteryUsageUpdatedListener.onBatteryUsageUpdated(
                     slotUsageData, getSlotInformation(), isBatteryUsageMapNullOrEmpty());
+
+            if (mOnBatteryTipsUpdatedListener != null) {
+                mOnBatteryTipsUpdatedListener.onBatteryTipsUpdated(null, null);
+            }
         }
         return true;
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
index 86538ee..506607c 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
@@ -510,7 +510,8 @@
             Context context, String name, final int uid) {
         Drawable icon = context.getDrawable(R.drawable.ic_power_system);
         if (uid == 0) {
-            name = context.getResources().getString(R.string.process_kernel_label);
+            name = context.getResources()
+                    .getString(com.android.settingslib.R.string.process_kernel_label);
         } else if (uid == BatteryUtils.UID_REMOVED_APPS) {
             name = context.getResources().getString(R.string.process_removed_apps);
         } else if (uid == BatteryUtils.UID_TETHERING) {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
new file mode 100644
index 0000000..89e2ce9
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
@@ -0,0 +1,99 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.fuelgauge.batteryusage;
+
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.ImageButton;
+import android.widget.TextView;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+
+import com.google.android.material.button.MaterialButton;
+
+/**
+ * A preference for displaying the battery tips card view.
+ */
+public class BatteryTipsCardPreference extends Preference implements View.OnClickListener {
+
+    private static final String TAG = "BatteryTipsCardPreference";
+
+    private final PowerUsageFeatureProvider mPowerUsageFeatureProvider;
+
+    private MaterialButton mActionButton;
+    private ImageButton mDismissButton;
+    private ImageButton mThumbUpButton;
+    private ImageButton mThumbDownButton;
+    private CharSequence mTitle;
+    private CharSequence mSummary;
+
+    public BatteryTipsCardPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setLayoutResource(R.layout.battery_tips_card);
+        setSelectable(false);
+        mPowerUsageFeatureProvider = FeatureFactory.getFeatureFactory()
+            .getPowerUsageFeatureProvider();
+    }
+
+    @Override
+    public void setTitle(CharSequence title) {
+        mTitle = title;
+        notifyChanged();
+    }
+
+    @Override
+    public void setSummary(CharSequence summary) {
+        mSummary = summary;
+        notifyChanged();
+    }
+
+    @Override
+    public void onClick(View view) {
+        // TODO: replace with the settings anomaly obtained from detectSettingsAnomaly();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder view) {
+        super.onBindViewHolder(view);
+
+        ((TextView) view.findViewById(R.id.title)).setText(mTitle);
+        ((TextView) view.findViewById(R.id.summary)).setText(mSummary);
+
+        mActionButton = (MaterialButton) view.findViewById(R.id.action_button);
+        mActionButton.setOnClickListener(this);
+        mDismissButton = (ImageButton) view.findViewById(R.id.dismiss_button);
+        mDismissButton.setOnClickListener(this);
+
+        if (!mPowerUsageFeatureProvider.isBatteryTipsFeedbackEnabled()) {
+            return;
+        }
+        view.findViewById(R.id.tips_card)
+                .setBackgroundResource(R.drawable.battery_tips_half_rounded_top_bg);
+        view.findViewById(R.id.feedback_card).setVisibility(View.VISIBLE);
+
+        mThumbUpButton = (ImageButton) view.findViewById(R.id.thumb_up);
+        mThumbUpButton.setOnClickListener(this);
+        mThumbDownButton = (ImageButton) view.findViewById(R.id.thumb_down);
+        mThumbDownButton.setOnClickListener(this);
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java
new file mode 100644
index 0000000..87c43a1
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java
@@ -0,0 +1,77 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.fuelgauge.batteryusage;
+
+import android.content.Context;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+
+/** Controls the update for battery tips card */
+public class BatteryTipsController extends BasePreferenceController {
+
+    private static final String TAG = "BatteryTipsController";
+    private static final String ROOT_PREFERENCE_KEY = "battery_tips_category";
+    private static final String CARD_PREFERENCE_KEY = "battery_tips_card";
+
+    private final PowerUsageFeatureProvider mPowerUsageFeatureProvider;
+
+    private Context mPrefContext;
+    private BatteryTipsCardPreference mCardPreference;
+
+    public BatteryTipsController(Context context) {
+        super(context, ROOT_PREFERENCE_KEY);
+        mPowerUsageFeatureProvider = FeatureFactory.getFeatureFactory()
+            .getPowerUsageFeatureProvider();
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPrefContext = screen.getContext();
+        mCardPreference = screen.findPreference(CARD_PREFERENCE_KEY);
+    }
+
+    /**
+     * Update the card visibility and contents.
+     * @param title a string not extend 2 lines.
+     * @param summary a string not extend 10 lines.
+     */
+    // TODO: replace parameters with SettingsAnomaly Data Proto
+    public void handleBatteryTipsCardUpdated(String title, String summary) {
+        if (!mPowerUsageFeatureProvider.isBatteryTipsEnabled()) {
+            mCardPreference.setVisible(false);
+            return;
+        }
+        if (title == null || summary == null) {
+            mCardPreference.setVisible(false);
+            return;
+        }
+        mCardPreference.setTitle(title);
+        mCardPreference.setSummary(summary);
+        mCardPreference.setVisible(true);
+    }
+
+}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
index b262dee..a3b73df 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
@@ -101,7 +101,7 @@
         mActivity = activity;
         mFragment = fragment;
         mMetricsFeatureProvider =
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         if (lifecycle != null) {
             lifecycle.addObserver(this);
         }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
index 67462b3..ebf1543 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
@@ -83,6 +83,10 @@
             recheckIntent.setClass(context, BootBroadcastReceiver.class);
             final long delayedTime = getRescheduleTimeForBootAction(context);
             mHandler.postDelayed(() -> context.sendBroadcast(recheckIntent), delayedTime);
+
+            // Refreshes the usage source from UsageStatsManager when booting.
+            DatabaseUtils.removeUsageSource(context);
+
             BatteryUsageLogUtils.writeLog(context, Action.RECHECK_JOB, "delay:" + delayedTime);
         } else if (ACTION_SETUP_WIZARD_FINISHED.equals(action)) {
             ElapsedTimeUtils.storeSuwFinishedTimestamp(context, System.currentTimeMillis());
diff --git a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
index 2c98c4b..3fc44cc 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
@@ -17,7 +17,6 @@
 
 import android.annotation.IntDef;
 import android.annotation.Nullable;
-import android.app.usage.IUsageStatsManager;
 import android.app.usage.UsageEvents.Event;
 import android.app.usage.UsageStatsManager;
 import android.content.ContentValues;
@@ -27,7 +26,6 @@
 import android.os.BatteryUsageStats;
 import android.os.Build;
 import android.os.LocaleList;
-import android.os.RemoteException;
 import android.os.UserHandle;
 import android.text.TextUtils;
 import android.text.format.DateFormat;
@@ -67,6 +65,12 @@
     public static final int CONSUMER_TYPE_USER_BATTERY = 2;
     public static final int CONSUMER_TYPE_SYSTEM_BATTERY = 3;
 
+    public static final int DEFAULT_USAGE_SOURCE = UsageStatsManager.USAGE_SOURCE_CURRENT_ACTIVITY;
+    public static final int EMPTY_USAGE_SOURCE = -1;
+
+    @VisibleForTesting
+    static int sUsageSource = EMPTY_USAGE_SOURCE;
+
     private ConvertUtils() {
     }
 
@@ -181,8 +185,7 @@
     /** Converts to {@link AppUsageEvent} from {@link Event} */
     @Nullable
     public static AppUsageEvent convertToAppUsageEvent(
-            Context context, final IUsageStatsManager usageStatsManager, final Event event,
-            final long userId) {
+            Context context, final Event event, final long userId) {
         final String packageName = event.getPackageName();
         if (packageName == null) {
             // See b/190609174: Event package names should never be null, but sometimes they are.
@@ -207,7 +210,7 @@
         }
 
         final String effectivePackageName =
-                getEffectivePackageName(usageStatsManager, packageName, taskRootPackageName);
+                getEffectivePackageName(context, packageName, taskRootPackageName);
         try {
             final long uid = context
                     .getPackageManager()
@@ -323,9 +326,8 @@
      */
     @VisibleForTesting
     static String getEffectivePackageName(
-            final IUsageStatsManager usageStatsManager, final String packageName,
-            final String taskRootPackageName) {
-        int usageSource = getUsageSource(usageStatsManager);
+            Context context, final String packageName, final String taskRootPackageName) {
+        final int usageSource = getUsageSource(context);
         switch (usageSource) {
             case UsageStatsManager.USAGE_SOURCE_TASK_ROOT_ACTIVITY:
                 return !TextUtils.isEmpty(taskRootPackageName)
@@ -370,18 +372,11 @@
         }
     }
 
-    /**
-     * Returns what App Usage Observers will consider the source of usage for an activity.
-     *
-     * @see UsageStatsManager#getUsageSource()
-     */
-    private static int getUsageSource(final IUsageStatsManager usageStatsManager) {
-        try {
-            return usageStatsManager.getUsageSource();
-        } catch (RemoteException e) {
-            Log.e(TAG, "Failed to getUsageSource", e);
-            return UsageStatsManager.USAGE_SOURCE_CURRENT_ACTIVITY;
+    private static int getUsageSource(Context context) {
+        if (sUsageSource == EMPTY_USAGE_SOURCE) {
+            sUsageSource = DatabaseUtils.getUsageSource(context);
         }
+        return sUsageSource;
     }
 
     private static AppUsageEventType getAppUsageEventType(final int eventType) {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
index 0f67e6a..1c851fd 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
@@ -397,8 +397,8 @@
         }
         // Generates the indexed AppUsagePeriod list data for each corresponding time slot for
         // further use.
-        mAppUsagePeriodMap = DataProcessor.generateAppUsagePeriodMap(mRawStartTimestamp,
-                mHourlyBatteryLevelsPerDay, mAppUsageEventList, mBatteryEventList);
+        mAppUsagePeriodMap = DataProcessor.generateAppUsagePeriodMap(
+                mContext, mHourlyBatteryLevelsPerDay, mAppUsageEventList, mBatteryEventList);
     }
 
     private void tryToGenerateFinalDataAndApplyCallback() {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
index 6de3f59..f1a8063 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
@@ -32,7 +32,6 @@
 import android.os.BatteryUsageStatsQuery;
 import android.os.Process;
 import android.os.RemoteException;
-import android.os.ServiceManager;
 import android.os.UidBatteryConsumer;
 import android.os.UserBatteryConsumer;
 import android.os.UserHandle;
@@ -78,8 +77,6 @@
     private static final int MIN_DAILY_DATA_SIZE = 2;
     private static final int MIN_TIMESTAMP_DATA_SIZE = 2;
     private static final int MAX_DIFF_SECONDS_OF_UPPER_TIMESTAMP = 5;
-    // Maximum total time value for each hourly slot cumulative data at most 2 hours.
-    private static final float TOTAL_HOURLY_TIME_THRESHOLD = DateUtils.HOUR_IN_MILLIS * 2;
     private static final long MIN_TIME_SLOT = DateUtils.HOUR_IN_MILLIS * 2;
     private static final String MEDIASERVER_PACKAGE_NAME = "mediaserver";
     private static final String ANDROID_CORE_APPS_SHARED_USER_ID = "android.uid.shared";
@@ -111,11 +108,6 @@
     @VisibleForTesting
     static Set<String> sTestSystemAppsPackageNames;
 
-    @VisibleForTesting
-    static IUsageStatsManager sUsageStatsManager =
-            IUsageStatsManager.Stub.asInterface(
-                    ServiceManager.getService(Context.USAGE_STATS_SERVICE));
-
     public static final String CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER =
             "CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER";
 
@@ -271,7 +263,7 @@
     @Nullable
     public static Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>>
             generateAppUsagePeriodMap(
-                    final long rawStartTimestamp,
+                    Context context,
                     final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay,
                     final List<AppUsageEvent> appUsageEventList,
                     final List<BatteryEvent> batteryEventList) {
@@ -305,7 +297,7 @@
                 // The value could be null when there is no data in the hourly slot.
                 dailyMap.put(
                         hourlyIndex,
-                        buildAppUsagePeriodList(hourlyAppUsageEventList, batteryEventList,
+                        buildAppUsagePeriodList(context, hourlyAppUsageEventList, batteryEventList,
                                 startTimestamp, endTimestamp));
             }
         }
@@ -346,8 +338,7 @@
                             break;
                         }
                         final AppUsageEvent appUsageEvent =
-                                ConvertUtils.convertToAppUsageEvent(
-                                        context, sUsageStatsManager, event, userId);
+                                ConvertUtils.convertToAppUsageEvent(context, event, userId);
                         if (appUsageEvent != null) {
                             numEventsFetched++;
                             appUsageEventList.add(appUsageEvent);
@@ -661,8 +652,8 @@
     @VisibleForTesting
     @Nullable
     static Map<Long, Map<String, List<AppUsagePeriod>>> buildAppUsagePeriodList(
-            final List<AppUsageEvent> appUsageEvents, final List<BatteryEvent> batteryEventList,
-            final long startTime, final long endTime) {
+            Context context, final List<AppUsageEvent> appUsageEvents,
+            final List<BatteryEvent> batteryEventList, final long startTime, final long endTime) {
         if (appUsageEvents.isEmpty()) {
             return null;
         }
@@ -702,7 +693,7 @@
             final AppUsageEvent firstEvent = usageEvents.get(0);
             final long eventUserId = firstEvent.getUserId();
             final String packageName = getEffectivePackageName(
-                    sUsageStatsManager,
+                    context,
                     firstEvent.getPackageName(),
                     firstEvent.getTaskRootPackageName());
             usageEvents.addAll(deviceEvents);
@@ -975,7 +966,7 @@
         final long startTime = DatabaseUtils.getAppUsageStartTimestampOfUser(
                 context, userID, earliestTimestamp);
         return loadAppUsageEventsForUserFromService(
-                sUsageStatsManager, startTime, now, userID, callingPackage);
+                DatabaseUtils.sUsageStatsManager, startTime, now, userID, callingPackage);
     }
 
     @Nullable
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
index 8d1a2f9..ea1f3ed 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
@@ -15,6 +15,8 @@
  */
 
 package com.android.settings.fuelgauge.batteryusage;
+import android.app.usage.IUsageStatsManager;
+import android.app.usage.UsageStatsManager;
 import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
@@ -28,6 +30,8 @@
 import android.os.BatteryUsageStats;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.RemoteException;
+import android.os.ServiceManager;
 import android.os.SystemClock;
 import android.os.UserManager;
 import android.util.Log;
@@ -63,6 +67,7 @@
     static final int DATA_RETENTION_INTERVAL_DAY = 9;
     static final String KEY_LAST_LOAD_FULL_CHARGE_TIME = "last_load_full_charge_time";
     static final String KEY_LAST_UPLOAD_FULL_CHARGE_TIME = "last_upload_full_charge_time";
+    static final String KEY_LAST_USAGE_SOURCE = "last_usage_source";
 
     /** An authority name of the battery content provider. */
     public static final String AUTHORITY = "com.android.settings.battery.usage.provider";
@@ -74,8 +79,6 @@
     public static final String BATTERY_STATE_TABLE = "BatteryState";
     /** A path name for app usage latest timestamp query. */
     public static final String APP_USAGE_LATEST_TIMESTAMP_PATH = "appUsageLatestTimestamp";
-    /** A class name for battery usage data provider. */
-    public static final String SETTINGS_PACKAGE_PATH = "com.android.settings";
     /** Key for query parameter timestamp used in BATTERY_CONTENT_URI **/
     public static final String QUERY_KEY_TIMESTAMP = "timestamp";
     /** Key for query parameter userid used in APP_USAGE_EVENT_URI **/
@@ -114,6 +117,11 @@
     @VisibleForTesting
     static Supplier<Cursor> sFakeSupplier;
 
+    @VisibleForTesting
+    static IUsageStatsManager sUsageStatsManager =
+            IUsageStatsManager.Stub.asInterface(
+                    ServiceManager.getService(Context.USAGE_STATS_SERVICE));
+
     private DatabaseUtils() {
     }
 
@@ -468,6 +476,37 @@
                 SHARED_PREFS_FILE, Context.MODE_PRIVATE);
     }
 
+    static void removeUsageSource(Context context) {
+        final SharedPreferences sharedPreferences = getSharedPreferences(context);
+        if (sharedPreferences != null && sharedPreferences.contains(KEY_LAST_USAGE_SOURCE)) {
+            sharedPreferences.edit().remove(KEY_LAST_USAGE_SOURCE).apply();
+        }
+    }
+
+    /**
+     * Returns what App Usage Observers will consider the source of usage for an activity.
+     *
+     * @see UsageStatsManager#getUsageSource()
+     */
+    static int getUsageSource(Context context) {
+        final SharedPreferences sharedPreferences = getSharedPreferences(context);
+        if (sharedPreferences != null && sharedPreferences.contains(KEY_LAST_USAGE_SOURCE)) {
+            return sharedPreferences
+                    .getInt(KEY_LAST_USAGE_SOURCE, ConvertUtils.DEFAULT_USAGE_SOURCE);
+        }
+        int usageSource = ConvertUtils.DEFAULT_USAGE_SOURCE;
+
+        try {
+            usageSource = sUsageStatsManager.getUsageSource();
+        } catch (RemoteException e) {
+            Log.e(TAG, "Failed to getUsageSource", e);
+        }
+        if (sharedPreferences != null) {
+            sharedPreferences.edit().putInt(KEY_LAST_USAGE_SOURCE, usageSource).apply();
+        }
+        return usageSource;
+    }
+
     static void recordDateTime(Context context, String preferenceKey) {
         final SharedPreferences sharedPreferences = getSharedPreferences(context);
         if (sharedPreferences != null) {
@@ -564,7 +603,7 @@
 
     private static Map<Long, Map<String, BatteryHistEntry>> loadHistoryMapFromContentProvider(
             Context context, Uri batteryStateUri) {
-        context = DatabaseUtils.getParentContext(context);
+        context = getParentContext(context);
         if (context == null) {
             return null;
         }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
index 7c4478e..5a96fb4 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
@@ -34,6 +34,8 @@
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
@@ -143,6 +145,16 @@
         controllers.add(screenOnTimeController);
         controllers.add(batteryUsageBreakdownController);
         setBatteryChartPreferenceController();
+
+        final PowerUsageFeatureProvider powerUsageFeatureProvider =
+                FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
+        if (powerUsageFeatureProvider.isBatteryTipsEnabled()) {
+            BatteryTipsController batteryTipsController = new BatteryTipsController(context);
+            mBatteryChartPreferenceController.setOnBatteryTipsUpdatedListener(
+                    batteryTipsController::handleBatteryTipsCardUpdated);
+            controllers.add(batteryTipsController);
+        }
+
         return controllers;
     }
 
diff --git a/src/com/android/settings/gestures/DoubleTapPowerSettings.java b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
index 1ca6ea5..577758d 100644
--- a/src/com/android/settings/gestures/DoubleTapPowerSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
@@ -39,7 +39,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
     }
diff --git a/src/com/android/settings/gestures/DoubleTapScreenSettings.java b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
index 9759130..5eea3d6 100644
--- a/src/com/android/settings/gestures/DoubleTapScreenSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
@@ -40,7 +40,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
 
diff --git a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
index 9f2e9e7..2785483 100644
--- a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
+++ b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
@@ -43,7 +43,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
     }
diff --git a/src/com/android/settings/gestures/OneHandedSettings.java b/src/com/android/settings/gestures/OneHandedSettings.java
index 53cc48f..c84b9ea 100644
--- a/src/com/android/settings/gestures/OneHandedSettings.java
+++ b/src/com/android/settings/gestures/OneHandedSettings.java
@@ -29,6 +29,7 @@
 import com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
 import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.IllustrationPreference;
 import com.android.settingslib.widget.MainSwitchPreference;
 
@@ -38,6 +39,7 @@
  * <p>The child {@link AccessibilityShortcutPreferenceFragment} shows the actual UI for
  * providing basic accessibility shortcut service setup.
  */
+@SearchIndexable(forTarget = SearchIndexable.MOBILE)
 public class OneHandedSettings extends AccessibilityShortcutPreferenceFragment {
 
     private static final String TAG = "OneHandedSettings";
diff --git a/src/com/android/settings/gestures/PickupGestureSettings.java b/src/com/android/settings/gestures/PickupGestureSettings.java
index 2a28ed3..bfda405 100644
--- a/src/com/android/settings/gestures/PickupGestureSettings.java
+++ b/src/com/android/settings/gestures/PickupGestureSettings.java
@@ -40,7 +40,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
 
diff --git a/src/com/android/settings/gestures/SwipeToNotificationSettings.java b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
index f3d0008..953603a 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationSettings.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
@@ -39,7 +39,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
     }
diff --git a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
index 0d25190..c40212b 100644
--- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
+++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
@@ -116,7 +116,7 @@
         super.onAttach(context);
 
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
 
@@ -403,6 +403,7 @@
                         SearchIndexableRaw data = new SearchIndexableRaw(context);
                         data.title = res.getString(R.string.legacy_navigation_title);
                         data.key = KEY_SYSTEM_NAV_3BUTTONS;
+                        data.keywords = res.getString(R.string.keywords_3_button_navigation);
                         result.add(data);
                     }
 
diff --git a/src/com/android/settings/gestures/TapScreenGestureSettings.java b/src/com/android/settings/gestures/TapScreenGestureSettings.java
index 98439d6..773ef0e 100644
--- a/src/com/android/settings/gestures/TapScreenGestureSettings.java
+++ b/src/com/android/settings/gestures/TapScreenGestureSettings.java
@@ -39,7 +39,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
 
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index 829a89c..533fbe7 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -340,12 +340,12 @@
 
     private void initSearchBarView() {
         final Toolbar toolbar = findViewById(R.id.search_action_bar);
-        FeatureFactory.getFactory(this).getSearchFeatureProvider()
+        FeatureFactory.getFeatureFactory().getSearchFeatureProvider()
                 .initSearchToolbar(this /* activity */, toolbar, SettingsEnums.SETTINGS_HOMEPAGE);
 
         if (mIsEmbeddingActivityEnabled) {
             final Toolbar toolbarTwoPaneVersion = findViewById(R.id.search_action_bar_two_pane);
-            FeatureFactory.getFactory(this).getSearchFeatureProvider()
+            FeatureFactory.getFeatureFactory().getSearchFeatureProvider()
                     .initSearchToolbar(this /* activity */, toolbarTwoPaneVersion,
                             SettingsEnums.SETTINGS_HOMEPAGE);
         }
@@ -383,7 +383,7 @@
     }
 
     private void showSuggestionFragment(boolean scrollNeeded) {
-        final Class<? extends Fragment> fragmentClass = FeatureFactory.getFactory(this)
+        final Class<? extends Fragment> fragmentClass = FeatureFactory.getFeatureFactory()
                 .getSuggestionFeatureProvider().getContextualSuggestionFragment();
         if (fragmentClass == null) {
             return;
diff --git a/src/com/android/settings/homepage/TopLevelSettings.java b/src/com/android/settings/homepage/TopLevelSettings.java
index ace667f..d1fa760 100644
--- a/src/com/android/settings/homepage/TopLevelSettings.java
+++ b/src/com/android/settings/homepage/TopLevelSettings.java
@@ -178,7 +178,7 @@
     public void onStart() {
         if (mFirstStarted) {
             mFirstStarted = false;
-            FeatureFactory.getFactory(getContext()).getSearchFeatureProvider().sendPreIndexIntent(
+            FeatureFactory.getFeatureFactory().getSearchFeatureProvider().sendPreIndexIntent(
                     getContext());
         } else if (mIsEmbeddingActivityEnabled && isOnlyOneActivityInTask()
                 && !isActivityEmbedded()) {
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
index e4a644c..0cda62d 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
@@ -158,7 +158,7 @@
 
         if (!CardContentProvider.DELETE_CARD_URI.equals(mNotifyUri)) {
             final MetricsFeatureProvider metricsFeatureProvider =
-                    FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
             metricsFeatureProvider.action(mContext,
                     SettingsEnums.ACTION_CONTEXTUAL_CARD_NOT_SHOW,
@@ -178,7 +178,7 @@
     @VisibleForTesting
     Cursor getContextualCardsFromProvider() {
         final ContextualCardFeatureProvider cardFeatureProvider =
-                FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider(mContext);
+                FeatureFactory.getFeatureFactory().getContextualCardFeatureProvider(mContext);
         return cardFeatureProvider.getContextualCards();
     }
 
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
index f5d0e66..8b8b33f 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
@@ -235,7 +235,7 @@
         final List<ContextualCard> cardsToKeep = getCardsToKeep(cards);
 
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         //navigate back to the homepage, screen rotate or after card dismissal
         if (!mIsFirstLaunch) {
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java b/src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java
index fb879ba..a66e066 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java
@@ -66,7 +66,7 @@
         super.onCreate(savedInstanceState);
         final Context context = getContext();
         if (savedInstanceState == null) {
-            FeatureFactory.getFactory(context).getSlicesFeatureProvider().newUiSession();
+            FeatureFactory.getFeatureFactory().getSlicesFeatureProvider().newUiSession();
             BluetoothUpdateWorker.initLocalBtManager(getContext());
         }
         mContextualCardManager = new ContextualCardManager(context, getSettingsLifecycle(),
@@ -154,7 +154,7 @@
     private void resetSession(Context context) {
         sRestartLoaderNeeded = true;
         unregisterScreenOffReceiver();
-        FeatureFactory.getFactory(context).getSlicesFeatureProvider().newUiSession();
+        FeatureFactory.getFeatureFactory().getSlicesFeatureProvider().newUiSession();
     }
 
     /**
diff --git a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
index f98d795..fb7ab89 100644
--- a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
+++ b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
@@ -56,7 +56,7 @@
     public ContextualCard call() {
         final long startTime = System.currentTimeMillis();
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         ContextualCard result;
 
         if (isCardEligibleToDisplay(mCard)) {
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java
index ccfb732..732ec73 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java
@@ -61,8 +61,8 @@
     public void bindView(RecyclerView.ViewHolder holder, ContextualCard contextualCard) {
         final ConditionalCardHolder view = (ConditionalCardHolder) holder;
         final ConditionalContextualCard card = (ConditionalContextualCard) contextualCard;
-        final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
-                mContext).getMetricsFeatureProvider();
+        final MetricsFeatureProvider metricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         metricsFeatureProvider.visible(mContext, SettingsEnums.SETTINGS_HOMEPAGE,
                 card.getMetricsConstant(), 0);
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionFooterContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionFooterContextualCardRenderer.java
index 2944cc8..83f7ede 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionFooterContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionFooterContextualCardRenderer.java
@@ -50,8 +50,8 @@
 
     @Override
     public void bindView(RecyclerView.ViewHolder holder, ContextualCard card) {
-        final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
-                mContext).getMetricsFeatureProvider();
+        final MetricsFeatureProvider metricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         holder.itemView.setOnClickListener(v -> {
             metricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
                     SettingsEnums.ACTION_SETTINGS_CONDITION_EXPAND,
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
index 6fba85e..25a444f 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
@@ -56,8 +56,8 @@
         final ConditionHeaderContextualCard headerCard =
                 (ConditionHeaderContextualCard) contextualCard;
         final ConditionHeaderCardHolder view = (ConditionHeaderCardHolder) holder;
-        final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
-                mContext).getMetricsFeatureProvider();
+        final MetricsFeatureProvider metricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         view.icons.removeAllViews();
         headerCard.getConditionalCards().forEach(card -> {
             final ImageView icon = (ImageView) LayoutInflater.from(mContext).inflate(
diff --git a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
index 1ddb935..b0061fa 100644
--- a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
@@ -64,7 +64,7 @@
             return;
         }
         final ComponentName suggestionServiceComponent =
-                FeatureFactory.getFactory(mContext).getSuggestionFeatureProvider()
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider()
                         .getSuggestionServiceComponent();
         mSuggestionController = new SuggestionController(
                 mContext, suggestionServiceComponent, this /* listener */);
diff --git a/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java b/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
index 96924e4..974af9f 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
@@ -74,7 +74,7 @@
 
     @Override
     public Slice getSlice() {
-        final long currentUiSession = FeatureFactory.getFactory(mContext)
+        final long currentUiSession = FeatureFactory.getFeatureFactory()
                 .getSlicesFeatureProvider().getUiSessionToken();
         if (currentUiSession != sActiveUiSession) {
             sActiveUiSession = currentUiSession;
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java
index ced3f8d..b348d3a 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java
@@ -69,13 +69,13 @@
     public void onDismissed(ContextualCard card) {
         ThreadUtils.postOnBackgroundThread(() -> {
             final ContextualCardFeatureProvider cardFeatureProvider =
-                    FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider(mContext);
+                    FeatureFactory.getFeatureFactory().getContextualCardFeatureProvider(mContext);
             cardFeatureProvider.markCardAsDismissed(mContext, card.getName());
         });
         showFeedbackDialog(card);
 
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         metricsFeatureProvider.action(mContext,
                 SettingsEnums.ACTION_CONTEXTUAL_CARD_DISMISS,
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
index fd60959..ff3f0fd 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
@@ -57,7 +57,7 @@
                     eventInfo.actionType, cardHolder.getAdapterPosition());
 
             final MetricsFeatureProvider metricsFeatureProvider =
-                    FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
             metricsFeatureProvider.action(mContext,
                     SettingsEnums.ACTION_CONTEXTUAL_CARD_CLICK, log);
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceHalfCardRendererHelper.java b/src/com/android/settings/homepage/contextualcards/slices/SliceHalfCardRendererHelper.java
index f774542..c881232 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceHalfCardRendererHelper.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceHalfCardRendererHelper.java
@@ -69,7 +69,7 @@
                     EventInfo.ACTION_TYPE_CONTENT, view.getAdapterPosition());
 
             final MetricsFeatureProvider metricsFeatureProvider =
-                    FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
             metricsFeatureProvider.action(mContext,
                     SettingsEnums.ACTION_CONTEXTUAL_CARD_CLICK, log);
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index 3ec879c..6efbc6d 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -155,7 +155,7 @@
         final Context prefContext = getPrefContext();
         final List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
         final List<InputMethodInfo> enabledImis = getContext().getSystemService(
-                InputMethodManager.class).getEnabledInputMethodListAsUser(mUserId);
+                InputMethodManager.class).getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
         final int numImis = (imis == null ? 0 : imis.size());
         for (int i = 0; i < numImis; ++i) {
             final InputMethodInfo imi = imis.get(i);
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
index 94f0757..54c608c 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
@@ -215,7 +215,7 @@
     private void updateSwitchHintVisibility() {
         AlertDialog dialog = (AlertDialog)getDialog();
         if (dialog != null) {
-            View customPanel = dialog.findViewById(R.id.customPanel);
+            View customPanel = dialog.findViewById(com.google.android.material.R.id.customPanel);
             customPanel.setVisibility(mAdapter.getCount() > 1 ? View.VISIBLE : View.GONE);
         }
     }
diff --git a/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java b/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java
index 28ead89..fa7b372 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java
@@ -94,8 +94,8 @@
         super.onCreateDialog(savedInstanceState);
 
         mActivity = getActivity();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(mActivity).getMetricsFeatureProvider();
-        FeatureFactory featureFactory = FeatureFactory.getFactory(mActivity);
+        FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
+        mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
         mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider();
         InputManager inputManager = mActivity.getSystemService(InputManager.class);
         mKeyDefaultName = getArguments().getString(DEFAULT_KEY);
diff --git a/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java b/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java
index 77def48..5a5b69e 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java
@@ -90,7 +90,7 @@
         mIm = context.getSystemService(InputManager.class);
         Objects.requireNonNull(mIm, "InputManager service cannot be null");
         KeyboardSettingsFeatureProvider featureProvider =
-                FeatureFactory.getFactory(context).getKeyboardSettingsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getKeyboardSettingsFeatureProvider();
         mDrawable = featureProvider.getActionKeyIcon(context);
     }
 
diff --git a/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java b/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java
index fea6e65..d49fbd1 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java
@@ -57,7 +57,7 @@
         super.onCreateDialog(savedInstanceState);
 
         Activity activity = getActivity();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(activity).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         InputManager inputManager = activity.getSystemService(InputManager.class);
         View dialoglayout =
                 LayoutInflater.from(activity).inflate(R.layout.modifier_key_reset_dialog, null);
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
index 08b8fd0..f007bc8 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
@@ -145,7 +145,8 @@
 
         PreferenceScreen preferenceScreen = getPreferenceScreen();
         preferenceScreen.removeAll();
-        List<InputMethodInfo> infoList = mImm.getEnabledInputMethodListAsUser(mUserId);
+        List<InputMethodInfo> infoList =
+                mImm.getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
         Collections.sort(infoList, new Comparator<InputMethodInfo>() {
             public int compare(InputMethodInfo o1, InputMethodInfo o2) {
                 String s1 = o1.loadLabel(mContext.getPackageManager()).toString();
@@ -157,7 +158,8 @@
         for (InputMethodInfo info : infoList) {
             mKeyboardInfoList.clear();
             List<InputMethodSubtype> subtypes =
-                    mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true, mUserId);
+                    mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true,
+                            UserHandle.of(mUserId));
             for (InputMethodSubtype subtype : subtypes) {
                 if (subtype.isSuitableForPhysicalKeyboardLayoutMapping()) {
                     mapLanguageWithLayout(info, subtype);
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
index 65b1c62..879f134 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
@@ -65,7 +65,7 @@
         mIm = context.getSystemService(InputManager.class);
         mInputDeviceId = -1;
         mPreferenceMap = new HashMap<>();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public void initialize(Fragment parent) {
diff --git a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
index ad68c43..bdbbbbc 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
@@ -20,6 +20,7 @@
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
 import android.hardware.input.KeyboardLayout;
+import android.os.UserHandle;
 import android.view.InputDevice;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
@@ -55,7 +56,7 @@
 
     static List<String> getSuitableImeLabels(Context context, InputMethodManager imm, int userId) {
         List<String> suitableInputMethodInfoLabels = new ArrayList<>();
-        List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(userId);
+        List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(UserHandle.of(userId));
         for (InputMethodInfo info : infoList) {
             List<InputMethodSubtype> subtypes =
                     imm.getEnabledInputMethodSubtypeList(info, true);
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 289d7c1..0b69df5 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -107,7 +107,7 @@
                 (SwitchPreference) mKeyboardAssistanceCategory.findPreference(
                         SHOW_VIRTUAL_KEYBOARD_SWITCH));
 
-        FeatureFactory featureFactory = FeatureFactory.getFactory(getContext());
+        FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
         mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider();
         mSupportsFirmwareUpdate = mFeatureProvider.supportsFirmwareUpdate();
diff --git a/src/com/android/settings/inputmethod/SpellCheckersSettings.java b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
index 99f7a4e..a58d10c 100644
--- a/src/com/android/settings/inputmethod/SpellCheckersSettings.java
+++ b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
@@ -144,7 +144,8 @@
             return getString(R.string.spell_checker_not_selected);
         }
         if (subtype == null) {
-            return getString(R.string.use_system_language_to_select_input_method_subtypes);
+            return getString(com.android.settingslib.R
+                    .string.use_system_language_to_select_input_method_subtypes);
         }
         return subtype.getDisplayName(
                 getActivity(), sci.getPackageName(), sci.getServiceInfo().applicationInfo);
diff --git a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
index f0ee1fd..648a3e6 100644
--- a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
@@ -40,7 +40,7 @@
 
     public TouchGesturesButtonPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public void setFragment(Fragment parent) {
diff --git a/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
index 1cf1f6f..d410a1b 100644
--- a/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
@@ -31,7 +31,7 @@
 
     public TrackpadBottomPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java
index 11d7cf3..36fb0c0 100644
--- a/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java
@@ -33,7 +33,7 @@
 
     public TrackpadGoBackPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java b/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java
index 5027e2f..dbc706e 100644
--- a/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java
@@ -33,7 +33,7 @@
 
     public TrackpadGoHomePreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java
index 0fb28d7..d430e4d 100644
--- a/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java
@@ -33,7 +33,7 @@
 
     public TrackpadNotificationsPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java
index 58b4772..d024546 100644
--- a/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java
@@ -34,7 +34,7 @@
 
     public TrackpadPointerSpeedPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java
index 878cbe3..44a56e7 100644
--- a/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java
@@ -33,7 +33,7 @@
 
     public TrackpadRecentAppsPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
index 2b74c74..042126d 100644
--- a/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
@@ -31,7 +31,7 @@
 
     public TrackpadReverseScrollingPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java
index cfca856..2b11411 100644
--- a/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java
@@ -33,7 +33,7 @@
 
     public TrackpadSwitchAppsPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
index 9ee446b..f78c81e 100644
--- a/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
@@ -31,7 +31,7 @@
 
     public TrackpadTapToClickPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/inputmethod/UserDictionarySettings.java b/src/com/android/settings/inputmethod/UserDictionarySettings.java
index f51629d..27a62a9 100644
--- a/src/com/android/settings/inputmethod/UserDictionarySettings.java
+++ b/src/com/android/settings/inputmethod/UserDictionarySettings.java
@@ -76,7 +76,7 @@
         super.onCreate(savedInstanceState);
 
         mVisibilityLoggerMixin = new VisibilityLoggerMixin(getMetricsCategory(),
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider());
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider());
 
         final Intent intent = getActivity().getIntent();
         final String localeFromIntent =
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java b/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
index 61e6a42..e6de7a5 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
@@ -61,7 +61,7 @@
     public void updateState(Preference preference) {
         final List<InputMethodInfo> imis = mImm.getEnabledInputMethodList();
         if (imis == null) {
-            preference.setSummary(R.string.summary_empty);
+            preference.setSummary(com.android.settingslib.R.string.summary_empty);
             return;
         }
 
@@ -77,7 +77,7 @@
             labels.add(imi.loadLabel(mPm).toString());
         }
         if (labels.isEmpty()) {
-            preference.setSummary(R.string.summary_empty);
+            preference.setSummary(com.android.settingslib.R.string.summary_empty);
             return;
         }
 
diff --git a/src/com/android/settings/language/PhoneLanguagePreferenceController.java b/src/com/android/settings/language/PhoneLanguagePreferenceController.java
index 0d5aa37..3a382e4 100644
--- a/src/com/android/settings/language/PhoneLanguagePreferenceController.java
+++ b/src/com/android/settings/language/PhoneLanguagePreferenceController.java
@@ -49,7 +49,7 @@
         if (preference == null) {
             return;
         }
-        final String localeNames = FeatureFactory.getFactory(mContext)
+        final String localeNames = FeatureFactory.getFeatureFactory()
                 .getLocaleFeatureProvider().getLocaleNames();
         preference.setSummary(localeNames);
     }
diff --git a/src/com/android/settings/localepicker/AppLocalePickerActivity.java b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
index dc04d6a..1d27590 100644
--- a/src/com/android/settings/localepicker/AppLocalePickerActivity.java
+++ b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
@@ -89,7 +89,7 @@
 
         setTitle(R.string.app_locale_picker_title);
         getActionBar().setDisplayHomeAsUpEnabled(true);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(this).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         mLocalePickerWithRegion = LocalePickerWithRegion.createLanguagePicker(
                 this,
diff --git a/src/com/android/settings/localepicker/LocaleDialogFragment.java b/src/com/android/settings/localepicker/LocaleDialogFragment.java
index 6c37e38..52ee63d 100644
--- a/src/com/android/settings/localepicker/LocaleDialogFragment.java
+++ b/src/com/android/settings/localepicker/LocaleDialogFragment.java
@@ -185,8 +185,8 @@
             Bundle arguments = dialogFragment.getArguments();
             mDialogType = arguments.getInt(ARG_DIALOG_TYPE);
             mLocaleInfo = (LocaleStore.LocaleInfo) arguments.getSerializable(ARG_TARGET_LOCALE);
-            mMetricsFeatureProvider = FeatureFactory.getFactory(
-                    mContext).getMetricsFeatureProvider();
+            mMetricsFeatureProvider =
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
             mParent = parentFragment;
         }
 
diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
index f703c83..af9ad85 100644
--- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
+++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
@@ -31,6 +31,7 @@
 import android.widget.CheckBox;
 import android.widget.CompoundButton;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.core.view.MotionEventCompat;
 import androidx.recyclerview.widget.ItemTouchHelper;
 import androidx.recyclerview.widget.RecyclerView;
@@ -178,17 +179,33 @@
         // clear listener before setChecked() in case another item already bind to
         // current ViewHolder and checked event is triggered on stale listener mistakenly.
         checkbox.setOnCheckedChangeListener(null);
-        checkbox.setChecked(mRemoveMode ? feedItem.getChecked() : false);
+        boolean isChecked = mRemoveMode ? feedItem.getChecked() : false;
+        checkbox.setChecked(isChecked);
+        setCheckBoxDescription(dragCell, checkbox, isChecked);
+
         checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
             @Override
             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                 LocaleStore.LocaleInfo feedItem =
                         (LocaleStore.LocaleInfo) dragCell.getTag();
                 feedItem.setChecked(isChecked);
+                setCheckBoxDescription(dragCell, checkbox, isChecked);
             }
         });
     }
 
+    @VisibleForTesting
+    protected void setCheckBoxDescription(LocaleDragCell dragCell, CheckBox checkbox,
+            boolean isChecked) {
+        CharSequence checkedStatus = mContext.getText(
+                isChecked ? com.android.internal.R.string.checked
+                        : com.android.internal.R.string.not_checked);
+        // Talkback
+        dragCell.setStateDescription(checkedStatus);
+        // Select to Speak
+        checkbox.setContentDescription(checkedStatus);
+    }
+
     @Override
     public int getItemCount() {
         int itemCount = (null != mFeedItemList ? mFeedItemList.size() : 0);
@@ -214,7 +231,7 @@
         }
 
         if (fromPosition != toPosition) {
-            FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .action(mContext, SettingsEnums.ACTION_REORDER_LANGUAGE,
                             mDragLocale.getLocale().toLanguageTag() + " move to " + toPosition);
         }
@@ -257,7 +274,7 @@
         for (int i = itemCount - 1; i >= 0; i--) {
             localeInfo = mFeedItemList.get(i);
             if (localeInfo.getChecked()) {
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                         .action(mContext, SettingsEnums.ACTION_REMOVE_LANGUAGE,
                                 localeInfo.getLocale().toLanguageTag());
                 mFeedItemList.remove(i);
diff --git a/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java b/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java
index 1227683..b962b9e 100644
--- a/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java
+++ b/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java
@@ -43,7 +43,7 @@
 
     public LocaleHelperPreferenceController(Context context) {
         super(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
index 4971a1e..d9109c3 100644
--- a/src/com/android/settings/localepicker/LocaleListEditor.java
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -514,7 +514,7 @@
         mAddLanguage.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                         .logSettingsTileClick(INDEX_KEY_ADD_LANGUAGE, getMetricsCategory());
 
                 final Intent intent = new Intent(getActivity(),
diff --git a/src/com/android/settings/location/AppSettingsInjector.java b/src/com/android/settings/location/AppSettingsInjector.java
index 7bea999..e012b09 100644
--- a/src/com/android/settings/location/AppSettingsInjector.java
+++ b/src/com/android/settings/location/AppSettingsInjector.java
@@ -40,7 +40,7 @@
     public AppSettingsInjector(Context context, int metricsCategory) {
         super(context);
         mMetricsCategory = metricsCategory;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java b/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java
index d658667..998e6f3 100644
--- a/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java
@@ -57,7 +57,7 @@
             : false;
 
         mRecentLocationAccesses = RecentAppOpsAccess.createForLocation(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/media/MediaOutputIndicatorWorker.java b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
index bf1e06e..7c299c6 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorWorker.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
@@ -157,7 +157,11 @@
         return mMediaDevices;
     }
 
+    @Nullable
     public MediaDevice getCurrentConnectedMediaDevice() {
+        if (mLocalMediaManager == null) {
+            return null;
+        }
         return mLocalMediaManager.getCurrentConnectedDevice();
     }
 
diff --git a/src/com/android/settings/media/RemoteMediaSlice.java b/src/com/android/settings/media/RemoteMediaSlice.java
index a9980e8..cebc14f 100644
--- a/src/com/android/settings/media/RemoteMediaSlice.java
+++ b/src/com/android/settings/media/RemoteMediaSlice.java
@@ -109,7 +109,7 @@
         }
         final CharSequence castVolume = mContext.getText(R.string.remote_media_volume_option_title);
         final IconCompat icon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_volume_remote);
+                com.android.settingslib.R.drawable.ic_volume_remote);
         // To create an empty icon to indent the row
         final IconCompat emptyIcon = createEmptyIcon();
         for (RoutingSessionInfo info : infos) {
@@ -199,7 +199,8 @@
                 PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
         final SliceAction primarySliceAction = SliceAction.createDeeplink(
                 primaryBroadcastIntent,
-                IconCompat.createWithResource(mContext, R.drawable.ic_volume_remote),
+                IconCompat.createWithResource(
+                        mContext, com.android.settingslib.R.drawable.ic_volume_remote),
                 ListBuilder.ICON_IMAGE,
                 mContext.getString(R.string.media_output_label_title,
                         Utils.getApplicationLabel(mContext, info.getClientPackageName())));
diff --git a/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.java b/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.java
index 6eb470b..f0f5d73 100644
--- a/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.java
+++ b/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.java
@@ -111,7 +111,7 @@
         }
 
         // User confirm the reset operation
-        MetricsFeatureProvider provider = FeatureFactory.getFactory(mContext)
+        MetricsFeatureProvider provider = FeatureFactory.getFeatureFactory()
                 .getMetricsFeatureProvider();
         provider.action(mContext, SettingsEnums.RESET_BLUETOOTH_WIFI_CONFIRM, true);
 
diff --git a/src/com/android/settings/network/MobileNetworkRepository.java b/src/com/android/settings/network/MobileNetworkRepository.java
index 7d88821..5d6ad33 100644
--- a/src/com/android/settings/network/MobileNetworkRepository.java
+++ b/src/com/android/settings/network/MobileNetworkRepository.java
@@ -120,7 +120,7 @@
     private MobileNetworkRepository(Context context) {
         mContext = context;
         mMobileNetworkDatabase = MobileNetworkDatabase.getInstance(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_MOBILE_NETWORK_DB_CREATED);
         mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
         mSubscriptionInfoDao = mMobileNetworkDatabase.mSubscriptionInfoDao();
diff --git a/src/com/android/settings/network/MobileNetworkSummaryController.java b/src/com/android/settings/network/MobileNetworkSummaryController.java
index f924636..15c1494 100644
--- a/src/com/android/settings/network/MobileNetworkSummaryController.java
+++ b/src/com/android/settings/network/MobileNetworkSummaryController.java
@@ -84,7 +84,7 @@
     public MobileNetworkSummaryController(Context context, Lifecycle lifecycle,
             LifecycleOwner lifecycleOwner) {
         super(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mUserManager = context.getSystemService(UserManager.class);
         mLifecycleOwner = lifecycleOwner;
         mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index e285a91..1375ffc 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -74,7 +74,6 @@
 import com.android.settings.wifi.ConnectedWifiEntryPreference;
 import com.android.settings.wifi.LongPressWifiEntryPreference;
 import com.android.settings.wifi.WifiConfigUiBase2;
-import com.android.settings.wifi.WifiConnectListener;
 import com.android.settings.wifi.WifiDialog2;
 import com.android.settings.wifi.WifiPickerTrackerHelper;
 import com.android.settings.wifi.WifiUtils;
@@ -199,9 +198,7 @@
     };
 
     protected WifiManager mWifiManager;
-    private WifiManager.ActionListener mConnectListener;
     private WifiManager.ActionListener mSaveListener;
-    private WifiManager.ActionListener mForgetListener;
 
     protected InternetResetHelper mInternetResetHelper;
 
@@ -274,7 +271,7 @@
             return;
         }
 
-        setPinnedHeaderView(R.layout.progress_header);
+        setPinnedHeaderView(com.android.settingslib.widget.R.layout.progress_header);
         setProgressBarVisible(false);
 
         if (hasWifiManager()) {
@@ -407,8 +404,6 @@
         }
         mInternetUpdater = new InternetUpdater(getContext(), getSettingsLifecycle(), this);
 
-        mConnectListener = new WifiConnectListener(getActivity());
-
         mSaveListener = new WifiManager.ActionListener() {
             @Override
             public void onSuccess() {
@@ -424,22 +419,6 @@
                 }
             }
         };
-
-        mForgetListener = new WifiManager.ActionListener() {
-            @Override
-            public void onSuccess() {
-            }
-
-            @Override
-            public void onFailure(int reason) {
-                Activity activity = getActivity();
-                if (activity != null) {
-                    Toast.makeText(activity,
-                            R.string.wifi_failed_forget_message,
-                            Toast.LENGTH_SHORT).show();
-                }
-            }
-        };
         setHasOptionsMenu(true);
 
         if (savedInstanceState != null) {
diff --git a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
index 5c7c54e..3b99777 100644
--- a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
+++ b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
@@ -155,12 +155,13 @@
 
         // Initial radio button text
         final RadioButton offRadioButton = view.findViewById(R.id.private_dns_mode_off);
-        offRadioButton.setText(R.string.private_dns_mode_off);
+        offRadioButton.setText(com.android.settingslib.R.string.private_dns_mode_off);
         final RadioButton opportunisticRadioButton =
                 view.findViewById(R.id.private_dns_mode_opportunistic);
-        opportunisticRadioButton.setText(R.string.private_dns_mode_opportunistic);
+        opportunisticRadioButton.setText(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic);
         final RadioButton providerRadioButton = view.findViewById(R.id.private_dns_mode_provider);
-        providerRadioButton.setText(R.string.private_dns_mode_provider);
+        providerRadioButton.setText(com.android.settingslib.R.string.private_dns_mode_provider);
 
         final TextView helpTextView = view.findViewById(R.id.private_dns_help_info);
         helpTextView.setMovementMethod(LinkMovementMethod.getInstance());
@@ -187,7 +188,7 @@
                         mEditText.getText().toString());
             }
 
-            FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context,
                     SettingsEnums.ACTION_PRIVATE_DNS_MODE, mMode);
             ConnectivitySettingsManager.setPrivateDnsMode(context, mMode);
         }
diff --git a/src/com/android/settings/network/PrivateDnsPreferenceController.java b/src/com/android/settings/network/PrivateDnsPreferenceController.java
index 4f727b1..21e4926 100644
--- a/src/com/android/settings/network/PrivateDnsPreferenceController.java
+++ b/src/com/android/settings/network/PrivateDnsPreferenceController.java
@@ -128,14 +128,16 @@
         final boolean dnsesResolved = !ArrayUtils.isEmpty(dnses);
         switch (mode) {
             case PRIVATE_DNS_MODE_OFF:
-                return res.getString(R.string.private_dns_mode_off);
+                return res.getString(com.android.settingslib.R.string.private_dns_mode_off);
             case PRIVATE_DNS_MODE_OPPORTUNISTIC:
                 return dnsesResolved ? res.getString(R.string.private_dns_mode_on)
-                        : res.getString(R.string.private_dns_mode_opportunistic);
+                        : res.getString(
+                                com.android.settingslib.R.string.private_dns_mode_opportunistic);
             case PRIVATE_DNS_MODE_PROVIDER_HOSTNAME:
                 return dnsesResolved
                         ? PrivateDnsModeDialogPreference.getHostnameFromSettings(cr)
-                        : res.getString(R.string.private_dns_mode_provider_failure);
+                        : res.getString(
+                                com.android.settingslib.R.string.private_dns_mode_provider_failure);
         }
         return "";
     }
diff --git a/src/com/android/settings/network/WifiSwitchPreferenceController.java b/src/com/android/settings/network/WifiSwitchPreferenceController.java
index da69f4f..8e6f444 100644
--- a/src/com/android/settings/network/WifiSwitchPreferenceController.java
+++ b/src/com/android/settings/network/WifiSwitchPreferenceController.java
@@ -91,7 +91,7 @@
         // Wi-Fi state, but WifiEnabler will enable the preference when the Wi-Fi state changes.
         if (mPreference != null && mIsChangeWifiStateAllowed) {
             mWifiEnabler = new WifiEnabler(mContext, new GenericSwitchController(mPreference),
-                    FeatureFactory.getFactory(mContext).getMetricsFeatureProvider());
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider());
         }
     }
 
diff --git a/src/com/android/settings/network/apn/ApnSettings.java b/src/com/android/settings/network/apn/ApnSettings.java
index 82d5612..4addf77 100755
--- a/src/com/android/settings/network/apn/ApnSettings.java
+++ b/src/com/android/settings/network/apn/ApnSettings.java
@@ -248,7 +248,7 @@
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
 
-        getEmptyTextView().setText(R.string.apn_settings_not_available);
+        getEmptyTextView().setText(com.android.settingslib.R.string.apn_settings_not_available);
         mUnavailable = isUiRestricted();
         setHasOptionsMenu(!mUnavailable);
         if (mUnavailable) {
diff --git a/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java b/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java
index 1c20f59..7ebd2d7 100644
--- a/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java
+++ b/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java
@@ -75,7 +75,7 @@
     public AutoDataSwitchPreferenceController(Context context,
             String preferenceKey) {
         super(context, preferenceKey);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     void init(int subId) {
diff --git a/src/com/android/settings/network/telephony/Enable2gPreferenceController.java b/src/com/android/settings/network/telephony/Enable2gPreferenceController.java
index 106aa02..765df51 100644
--- a/src/com/android/settings/network/telephony/Enable2gPreferenceController.java
+++ b/src/com/android/settings/network/telephony/Enable2gPreferenceController.java
@@ -74,7 +74,7 @@
     public Enable2gPreferenceController(Context context, String key) {
         super(context, key);
         mCarrierConfigCache = CarrierConfigCache.getInstance(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
         mRestrictedPreference = null;
     }
diff --git a/src/com/android/settings/network/telephony/NetworkSelectSettings.java b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
index ebc3ea6..861574f 100644
--- a/src/com/android/settings/network/telephony/NetworkSelectSettings.java
+++ b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
@@ -161,7 +161,7 @@
     @Keep
     @VisibleForTesting
     protected MetricsFeatureProvider getMetricsFeatureProvider(Context context) {
-        return FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        return FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Keep
@@ -194,8 +194,9 @@
 
         final Activity activity = getActivity();
         if (activity != null) {
-            mProgressHeader = setPinnedHeaderView(R.layout.progress_header)
-                    .findViewById(R.id.progress_bar_animation);
+            mProgressHeader = setPinnedHeaderView(
+                    com.android.settingslib.widget.R.layout.progress_header)
+                    .findViewById(com.android.settingslib.widget.R.id.progress_bar_animation);
             setProgressBarVisible(false);
         }
         forceUpdateConnectedPreferenceCategory();
diff --git a/src/com/android/settings/network/tether/TetherSettings.java b/src/com/android/settings/network/tether/TetherSettings.java
index 5398e9b..1188719 100644
--- a/src/com/android/settings/network/tether/TetherSettings.java
+++ b/src/com/android/settings/network/tether/TetherSettings.java
@@ -365,7 +365,8 @@
 
         if (isUiRestricted()) {
             if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.tethering_settings_not_available);
+                getEmptyTextView().setText(
+                        com.android.settingslib.R.string.tethering_settings_not_available);
             }
             getPreferenceScreen().removeAll();
             return;
diff --git a/src/com/android/settings/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java
index b1fcd57..d10873c 100644
--- a/src/com/android/settings/nfc/AndroidBeam.java
+++ b/src/com/android/settings/nfc/AndroidBeam.java
@@ -84,7 +84,8 @@
             mBeamDisallowedByOnlyAdmin = true;
             return new View(getContext());
         }
-        mView = inflater.inflate(R.layout.preference_footer, container, false);
+        mView = inflater.inflate(
+                com.android.settingslib.widget.R.layout.preference_footer, container, false);
 
         ImageView iconInfo = mView.findViewById(android.R.id.icon);
         iconInfo.setImageResource(R.drawable.ic_info_outline_24dp);
diff --git a/src/com/android/settings/nfc/NfcForegroundPreferenceController.java b/src/com/android/settings/nfc/NfcForegroundPreferenceController.java
index 611d3fc..a4cad87 100644
--- a/src/com/android/settings/nfc/NfcForegroundPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcForegroundPreferenceController.java
@@ -43,7 +43,7 @@
 
     public NfcForegroundPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mListValues = context.getResources().getStringArray(R.array.nfc_payment_favor_values);
         mListEntries = context.getResources().getStringArray(R.array.nfc_payment_favor);
     }
diff --git a/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java b/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
index 1ede911..f1857de 100644
--- a/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
@@ -84,7 +84,7 @@
         mWorkSettingKey = workSettingKey;
 
         mProfileUserId = Utils.getManagedProfileId(UserManager.get(context), UserHandle.myUserId());
-        final LockPatternUtils utils = FeatureFactory.getFactory(context)
+        final LockPatternUtils utils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mSecure = utils.isSecure(UserHandle.myUserId());
@@ -278,7 +278,7 @@
 
     public static int getSummaryResource(Context context) {
         final boolean enabled = getLockscreenNotificationsEnabled(context);
-        final boolean secure = FeatureFactory.getFactory(context)
+        final boolean secure = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context)
                 .isSecure(UserHandle.myUserId());
diff --git a/src/com/android/settings/notification/RedactNotificationPreferenceController.java b/src/com/android/settings/notification/RedactNotificationPreferenceController.java
index 0b9ad44..4ebf08e 100644
--- a/src/com/android/settings/notification/RedactNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/RedactNotificationPreferenceController.java
@@ -130,7 +130,7 @@
                 ? UserHandle.myUserId() : mProfileUserId;
 
         // hide if lockscreen isn't secure for this user
-        final LockPatternUtils utils = FeatureFactory.getFactory(mContext)
+        final LockPatternUtils utils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(mContext);
         if (!utils.isSecure(userId)) {
diff --git a/src/com/android/settings/notification/RedactionInterstitial.java b/src/com/android/settings/notification/RedactionInterstitial.java
index d6fdaf8..83d5a01 100644
--- a/src/com/android/settings/notification/RedactionInterstitial.java
+++ b/src/com/android/settings/notification/RedactionInterstitial.java
@@ -150,7 +150,7 @@
                             .setText(R.string.app_notifications_dialog_done)
                             .setListener(this::onDoneButtonClicked)
                             .setButtonType(FooterButton.ButtonType.NEXT)
-                            .setTheme(R.style.SudGlifButton_Primary)
+                            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                             .build()
             );
         }
diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java
index e2faf02..50f9ed5 100644
--- a/src/com/android/settings/notification/RemoteVolumeGroupController.java
+++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java
@@ -125,7 +125,7 @@
                 seekBarPreference.setProgress(info.getVolume());
                 seekBarPreference.setMin(0);
                 seekBarPreference.setOnPreferenceChangeListener(this);
-                seekBarPreference.setIcon(R.drawable.ic_volume_remote);
+                seekBarPreference.setIcon(com.android.settingslib.R.drawable.ic_volume_remote);
                 seekBarPreference.setEnabled(mLocalMediaManager.shouldEnableVolumeSeekBar(info));
                 mPreferenceCategory.addPreference(seekBarPreference);
             }
diff --git a/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java b/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java
index 02e4015..038196f 100644
--- a/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java
+++ b/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java
@@ -68,7 +68,7 @@
         mNotificationManager = (NotificationManager) context.getSystemService(
                 Context.NOTIFICATION_SERVICE);
 
-        final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
+        final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
         mBackend = ZenModeBackend.getInstance(context);
     }
diff --git a/src/com/android/settings/notification/zen/ZenOnboardingActivity.java b/src/com/android/settings/notification/zen/ZenOnboardingActivity.java
index b70088c..23c388b 100644
--- a/src/com/android/settings/notification/zen/ZenOnboardingActivity.java
+++ b/src/com/android/settings/notification/zen/ZenOnboardingActivity.java
@@ -180,7 +180,7 @@
 
     private static boolean withinShowTimeThreshold(Context context) {
         final SuggestionFeatureProvider featureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         final SharedPreferences prefs = featureProvider.getSharedPrefs(context);
         final long currentTimeMs = System.currentTimeMillis();
         final long firstDisplayTimeMs;
diff --git a/src/com/android/settings/overlay/FeatureFactory.kt b/src/com/android/settings/overlay/FeatureFactory.kt
index 5f456e0..256acf4 100644
--- a/src/com/android/settings/overlay/FeatureFactory.kt
+++ b/src/com/android/settings/overlay/FeatureFactory.kt
@@ -86,14 +86,12 @@
     abstract val applicationFeatureProvider: ApplicationFeatureProvider
     abstract val localeFeatureProvider: LocaleFeatureProvider
 
-    abstract fun getEnterprisePrivacyFeatureProvider(
-        context: Context,
-    ): EnterprisePrivacyFeatureProvider
+    abstract val enterprisePrivacyFeatureProvider: EnterprisePrivacyFeatureProvider
 
     abstract val searchFeatureProvider: SearchFeatureProvider
     abstract fun getSurveyFeatureProvider(context: Context): SurveyFeatureProvider?
     abstract val securityFeatureProvider: SecurityFeatureProvider
-    abstract fun getUserFeatureProvider(context: Context): UserFeatureProvider
+    abstract val userFeatureProvider: UserFeatureProvider
     abstract val slicesFeatureProvider: SlicesFeatureProvider
     abstract val accountFeatureProvider: AccountFeatureProvider
     abstract val panelFeatureProvider: PanelFeatureProvider
@@ -172,16 +170,5 @@
             _appContext = appContext
             _factory = factory
         }
-
-        /** Returns a factory for creating feature controllers. */
-        @Deprecated(
-            "Replace with featureFactory without Context",
-            ReplaceWith(
-                "featureFactory",
-                "com.android.settings.overlay.FeatureFactory.Companion.featureFactory",
-            )
-        )
-        @JvmStatic
-        fun getFactory(context: Context?): FeatureFactory = featureFactory
     }
 }
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.kt b/src/com/android/settings/overlay/FeatureFactoryImpl.kt
index 0da5871..2f0fe8b 100644
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.kt
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.kt
@@ -67,20 +67,6 @@
  * [FeatureFactory] implementation for AOSP Settings.
  */
 open class FeatureFactoryImpl : FeatureFactory() {
-    private val enterprisePrivacyFeatureProvider by lazy {
-        EnterprisePrivacyFeatureProviderImpl(
-            appContext,
-            appContext.devicePolicyManager,
-            appContext.packageManager,
-            UserManager.get(appContext),
-            appContext.getSystemService(ConnectivityManager::class.java),
-            appContext.getSystemService(VpnManager::class.java),
-            appContext.resources,
-        )
-    }
-
-    private val userFeatureProvider by lazy { UserFeatureProviderImpl(appContext) }
-
     private val contextualCardFeatureProvider by lazy {
         ContextualCardFeatureProviderImpl(appContext)
     }
@@ -115,8 +101,17 @@
 
     override val localeFeatureProvider by lazy { LocaleFeatureProviderImpl() }
 
-    override fun getEnterprisePrivacyFeatureProvider(context: Context) =
-        enterprisePrivacyFeatureProvider
+    override val enterprisePrivacyFeatureProvider by lazy {
+        EnterprisePrivacyFeatureProviderImpl(
+            appContext,
+            appContext.devicePolicyManager,
+            appContext.packageManager,
+            UserManager.get(appContext),
+            appContext.getSystemService(ConnectivityManager::class.java),
+            appContext.getSystemService(VpnManager::class.java),
+            appContext.resources,
+        )
+    }
 
     override val searchFeatureProvider: SearchFeatureProvider by lazy {
         SearchFeatureProviderImpl()
@@ -130,7 +125,7 @@
         SuggestionFeatureProviderImpl()
     }
 
-    override fun getUserFeatureProvider(context: Context) = userFeatureProvider
+    override val userFeatureProvider by lazy { UserFeatureProviderImpl(appContext) }
 
     override val slicesFeatureProvider by lazy { SlicesFeatureProviderImpl() }
 
diff --git a/src/com/android/settings/panel/PanelFragment.java b/src/com/android/settings/panel/PanelFragment.java
index 5bc0cc8..1590283 100644
--- a/src/com/android/settings/panel/PanelFragment.java
+++ b/src/com/android/settings/panel/PanelFragment.java
@@ -221,7 +221,7 @@
         final String callingPackageName =
                 arguments.getString(SettingsPanelActivity.KEY_CALLING_PACKAGE_NAME);
 
-        mPanel = FeatureFactory.getFactory(activity)
+        mPanel = FeatureFactory.getFeatureFactory()
                 .getPanelFeatureProvider()
                 .getPanel(activity, arguments);
 
@@ -235,7 +235,7 @@
             getLifecycle().addObserver((LifecycleObserver) mPanel);
         }
 
-        mMetricsProvider = FeatureFactory.getFactory(activity).getMetricsFeatureProvider();
+        mMetricsProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         updateProgressBar();
 
diff --git a/src/com/android/settings/panel/PanelSlicesAdapter.java b/src/com/android/settings/panel/PanelSlicesAdapter.java
index 1bced76..a4bb7cc 100644
--- a/src/com/android/settings/panel/PanelSlicesAdapter.java
+++ b/src/com/android/settings/panel/PanelSlicesAdapter.java
@@ -148,7 +148,7 @@
             // Log Panel interaction
             sliceView.setOnSliceActionListener(
                     ((eventInfo, sliceItem) -> {
-                        FeatureFactory.getFactory(sliceView.getContext())
+                        FeatureFactory.getFeatureFactory()
                                 .getMetricsFeatureProvider()
                                 .action(0 /* attribution */,
                                         SettingsEnums.ACTION_PANEL_INTERACTION,
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index 6066efb..c126a88 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -497,7 +497,8 @@
                             .setText(R.string.lockpassword_clear_label)
                             .setListener(this::onSkipOrClearButtonClick)
                             .setButtonType(FooterButton.ButtonType.SKIP)
-                            .setTheme(R.style.SudGlifButton_Secondary)
+                            .setTheme(
+                                    com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                             .build()
             );
             mixin.setPrimaryButton(
@@ -505,7 +506,7 @@
                             .setText(R.string.next_label)
                             .setListener(this::onNextButtonClick)
                             .setButtonType(FooterButton.ButtonType.NEXT)
-                            .setTheme(R.style.SudGlifButton_Primary)
+                            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                             .build()
             );
             mSkipOrClearButton = mixin.getSecondaryButton();
@@ -519,10 +520,11 @@
                     || DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == mPasswordType;
 
             final LinearLayout headerLayout = view.findViewById(
-                    R.id.sud_layout_header);
+                    com.google.android.setupdesign.R.id.sud_layout_header);
             setupPasswordRequirementsView(headerLayout);
 
             mPasswordRestrictionView.setLayoutManager(new LinearLayoutManager(getActivity()));
+            mPasswordRestrictionView.setAccessibilityLiveRegion(ACCESSIBILITY_LIVE_REGION_POLITE);
             mPasswordEntry = view.findViewById(R.id.password_entry);
             mPasswordEntry.setOnEditorActionListener(this);
             mPasswordEntry.addTextChangedListener(this);
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index 7569c15..20d1e7d 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -514,7 +514,8 @@
                             .setText(R.string.lockpattern_tutorial_cancel_label)
                             .setListener(this::onSkipOrClearButtonClick)
                             .setButtonType(FooterButton.ButtonType.OTHER)
-                            .setTheme(R.style.SudGlifButton_Secondary)
+                            .setTheme(
+                                    com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                             .build()
             );
             mixin.setPrimaryButton(
@@ -522,13 +523,14 @@
                             .setText(R.string.lockpattern_tutorial_continue_label)
                             .setListener(this::onNextButtonClick)
                             .setButtonType(FooterButton.ButtonType.NEXT)
-                            .setTheme(R.style.SudGlifButton_Primary)
+                            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                             .build()
             );
             mSkipOrClearButton = mixin.getSecondaryButton();
             mNextButton = mixin.getPrimaryButton();
             // TODO(b/243008023) Workaround for Glif layout on 2 panel choose lock settings.
-            mSudContent = layout.findViewById(R.id.sud_layout_content);
+            mSudContent = layout.findViewById(
+                    com.google.android.setupdesign.R.id.sud_layout_content);
             mSudContent.setPadding(mSudContent.getPaddingLeft(), 0, mSudContent.getPaddingRight(),
                     0);
 
@@ -741,7 +743,7 @@
             if (stage == Stage.ConfirmWrong || stage == Stage.ChoiceTooShort) {
                 TypedValue typedValue = new TypedValue();
                 Theme theme = getActivity().getTheme();
-                theme.resolveAttribute(R.attr.colorError, typedValue, true);
+                theme.resolveAttribute(androidx.appcompat.R.attr.colorError, typedValue, true);
                 mHeaderText.setTextColor(typedValue.data);
             } else if (mDefaultHeaderColorList != null) {
                 mHeaderText.setTextColor(mDefaultHeaderColorList);
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index f2f6520..e4ebad7 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -20,9 +20,6 @@
 import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PASSWORD_HEADER;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PATTERN_HEADER;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PIN_HEADER;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PASSWORD;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PATTERN;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PIN;
 import static android.view.WindowInsetsController.APPEARANCE_LIGHT_STATUS_BARS;
 
 import android.app.Activity;
@@ -211,7 +208,7 @@
         }
         if (mDetails == null) {
             promptInfo.setDeviceCredentialSubtitle(
-                    getDetailsFromCredentialType(credentialType, isEffectiveUserManagedProfile));
+                    Utils.getConfirmCredentialStringForUser(this, mUserId, credentialType));
         }
 
         boolean launchedBiometric = false;
@@ -342,39 +339,6 @@
         return null;
     }
 
-    private String getDetailsFromCredentialType(@LockPatternUtils.CredentialType int credentialType,
-            boolean isEffectiveUserManagedProfile) {
-        switch (credentialType) {
-            case LockPatternUtils.CREDENTIAL_TYPE_PIN:
-                if (isEffectiveUserManagedProfile) {
-                    return mDevicePolicyManager.getResources().getString(WORK_PROFILE_CONFIRM_PIN,
-                            () -> getString(
-                                    R.string.lockpassword_confirm_your_pin_generic_profile));
-                }
-
-                return getString(R.string.lockpassword_confirm_your_pin_generic);
-            case LockPatternUtils.CREDENTIAL_TYPE_PATTERN:
-                if (isEffectiveUserManagedProfile) {
-                    return mDevicePolicyManager.getResources().getString(
-                            WORK_PROFILE_CONFIRM_PATTERN,
-                            () -> getString(
-                                    R.string.lockpassword_confirm_your_pattern_generic_profile));
-                }
-
-                return getString(R.string.lockpassword_confirm_your_pattern_generic);
-            case LockPatternUtils.CREDENTIAL_TYPE_PASSWORD:
-                if (isEffectiveUserManagedProfile) {
-                    return mDevicePolicyManager.getResources().getString(
-                            WORK_PROFILE_CONFIRM_PASSWORD,
-                            () -> getString(
-                                    R.string.lockpassword_confirm_your_password_generic_profile));
-                }
-
-                return getString(R.string.lockpassword_confirm_your_password_generic);
-        }
-        return null;
-    }
-
     @Override
     protected void onStart() {
         super.onStart();
diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java
index 8d0ff14..b203015 100644
--- a/src/com/android/settings/password/ConfirmLockPassword.java
+++ b/src/com/android/settings/password/ConfirmLockPassword.java
@@ -18,12 +18,8 @@
 
 import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PASSWORD_HEADER;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.CONFIRM_WORK_PROFILE_PIN_HEADER;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PASSWORD;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PIN;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LAST_PASSWORD_ATTEMPT_BEFORE_WIPE;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_LAST_PIN_ATTEMPT_BEFORE_WIPE;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PASSWORD_REQUIRED;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_PIN_REQUIRED;
 import static android.app.admin.DevicePolicyResources.UNDEFINED;
 
 import static com.android.settings.biometrics.GatekeeperPasswordProvider.containsGatekeeperPasswordHandle;
@@ -75,27 +71,12 @@
 
 public class ConfirmLockPassword extends ConfirmDeviceCredentialBaseActivity {
 
-    // The index of the array is isStrongAuth << 2 + isManagedProfile << 1 + isAlpha.
+    // The index of the array is isStrongAuth << 1 + isAlpha.
     private static final int[] DETAIL_TEXTS = new int[] {
         R.string.lockpassword_confirm_your_pin_generic,
         R.string.lockpassword_confirm_your_password_generic,
-        R.string.lockpassword_confirm_your_pin_generic_profile,
-        R.string.lockpassword_confirm_your_password_generic_profile,
         R.string.lockpassword_strong_auth_required_device_pin,
         R.string.lockpassword_strong_auth_required_device_password,
-        R.string.lockpassword_strong_auth_required_work_pin,
-        R.string.lockpassword_strong_auth_required_work_password
-    };
-
-    private static final String[] DETAIL_TEXT_OVERRIDES = new String[] {
-            UNDEFINED,
-            UNDEFINED,
-            WORK_PROFILE_CONFIRM_PIN,
-            WORK_PROFILE_CONFIRM_PASSWORD,
-            UNDEFINED,
-            UNDEFINED,
-            WORK_PROFILE_PIN_REQUIRED,
-            WORK_PROFILE_PASSWORD_REQUIRED
     };
 
     public static class InternalActivity extends ConfirmLockPassword {
@@ -200,7 +181,12 @@
                     detailsMessage = getDefaultDetails();
                 }
                 mGlifLayout.setHeaderText(headerMessage);
-                mGlifLayout.setDescriptionText(detailsMessage);
+
+                if (mIsManagedProfile) {
+                    mGlifLayout.getDescriptionTextView().setVisibility(View.GONE);
+                } else {
+                    mGlifLayout.setDescriptionText(detailsMessage);
+                }
                 mCheckBoxLabel = intent.getCharSequenceExtra(KeyguardManager.EXTRA_CHECKBOX_LABEL);
             }
             int currentType = mPasswordEntry.getInputType();
@@ -323,11 +309,9 @@
                         : R.string.lockpassword_remote_validation_pin_details);
             }
             boolean isStrongAuthRequired = isStrongAuthRequired();
-            // Map boolean flags to an index by isStrongAuth << 2 + isManagedProfile << 1 + isAlpha.
-            int index = ((isStrongAuthRequired ? 1 : 0) << 2) + ((mIsManagedProfile ? 1 : 0) << 1)
-                    + (mIsAlpha ? 1 : 0);
-            return mDevicePolicyManager.getResources().getString(
-                    DETAIL_TEXT_OVERRIDES[index], () -> getString(DETAIL_TEXTS[index]));
+            // Map boolean flags to an index by isStrongAuth << 1 + isAlpha.
+            int index = ((isStrongAuthRequired ? 1 : 0) << 1) + (mIsAlpha ? 1 : 0);
+            return getString(DETAIL_TEXTS[index]);
         }
 
         private String getDefaultCheckboxLabel() {
diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java
index ffd7c64..3afb60e 100644
--- a/src/com/android/settings/password/ConfirmLockPattern.java
+++ b/src/com/android/settings/password/ConfirmLockPattern.java
@@ -135,7 +135,8 @@
             mLockPatternView = (LockPatternView) view.findViewById(R.id.lockPattern);
             mErrorTextView = (TextView) view.findViewById(R.id.errorText);
             // TODO(b/243008023) Workaround for Glif layout on 2 panel choose lock settings.
-            mSudContent = mGlifLayout.findViewById(R.id.sud_layout_content);
+            mSudContent = mGlifLayout.findViewById(
+                    com.google.android.setupdesign.R.id.sud_layout_content);
             mSudContent.setPadding(mSudContent.getPaddingLeft(), 0, mSudContent.getPaddingRight(),
                     0);
             mIsManagedProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
@@ -316,12 +317,9 @@
                         R.string.lockpassword_remote_validation_pattern_details);
             }
             final boolean isStrongAuthRequired = isStrongAuthRequired();
-            if (!mIsManagedProfile) {
-                return isStrongAuthRequired
-                        ? getString(R.string.lockpassword_strong_auth_required_device_pattern)
-                        : getString(R.string.lockpassword_confirm_your_pattern_generic);
-            }
-            return null;
+            return isStrongAuthRequired
+                    ? getString(R.string.lockpassword_strong_auth_required_device_pattern)
+                    : getString(R.string.lockpassword_confirm_your_pattern_generic);
         }
 
         private Object[][] getActiveViews() {
@@ -371,7 +369,10 @@
 
                     CharSequence detailsText =
                             mDetailsText == null ? getDefaultDetails() : mDetailsText;
-                    if (detailsText != null) {
+
+                    if (mIsManagedProfile) {
+                        mGlifLayout.getDescriptionTextView().setVisibility(View.GONE);
+                    } else {
                         mGlifLayout.setDescriptionText(detailsText);
                     }
 
diff --git a/src/com/android/settings/password/ForgotPasswordActivity.java b/src/com/android/settings/password/ForgotPasswordActivity.java
index 9afda18..ae05085 100644
--- a/src/com/android/settings/password/ForgotPasswordActivity.java
+++ b/src/com/android/settings/password/ForgotPasswordActivity.java
@@ -50,6 +50,7 @@
             finish();
             return;
         }
+        ThemeHelper.trySetDynamicColor(this);
         setContentView(R.layout.forgot_password_activity);
 
         DevicePolicyManager devicePolicyManager = getSystemService(DevicePolicyManager.class);
@@ -63,7 +64,7 @@
                         .setText(android.R.string.ok)
                         .setListener(v -> finish())
                         .setButtonType(FooterButton.ButtonType.DONE)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
 
diff --git a/src/com/android/settings/password/PasswordUtils.java b/src/com/android/settings/password/PasswordUtils.java
index a7edc89..4bdc324 100644
--- a/src/com/android/settings/password/PasswordUtils.java
+++ b/src/com/android/settings/password/PasswordUtils.java
@@ -107,7 +107,7 @@
     /** Setup screen lock options button under the Glif Header. */
     public static void setupScreenLockOptionsButton(Context context, View view, Button optButton) {
         final LinearLayout headerLayout = view.findViewById(
-                R.id.sud_layout_header);
+                com.google.android.setupdesign.R.id.sud_layout_header);
         final TextView sucTitleView = headerLayout.findViewById(R.id.suc_layout_title);
         if (headerLayout != null && sucTitleView != null) {
             final ViewGroup.MarginLayoutParams layoutTitleParams =
diff --git a/src/com/android/settings/password/SaveAndFinishWorker.java b/src/com/android/settings/password/SaveAndFinishWorker.java
index df679e5..40054b7 100644
--- a/src/com/android/settings/password/SaveAndFinishWorker.java
+++ b/src/com/android/settings/password/SaveAndFinishWorker.java
@@ -107,7 +107,12 @@
     @VisibleForTesting
     Pair<Boolean, Intent> saveAndVerifyInBackground() {
         final int userId = mUserId;
-        if (!mUtils.setLockCredential(mChosenCredential, mCurrentCredential, userId)) {
+        try {
+            if (!mUtils.setLockCredential(mChosenCredential, mCurrentCredential, userId)) {
+                return Pair.create(false, null);
+            }
+        } catch (RuntimeException e) {
+            Log.e(TAG, "Failed to set lockscreen credential", e);
             return Pair.create(false, null);
         }
 
diff --git a/src/com/android/settings/password/SetNewPasswordActivity.java b/src/com/android/settings/password/SetNewPasswordActivity.java
index fc664ec..bb3c6df 100644
--- a/src/com/android/settings/password/SetNewPasswordActivity.java
+++ b/src/com/android/settings/password/SetNewPasswordActivity.java
@@ -180,7 +180,7 @@
                 : SettingsEnums.ACTION_SET_NEW_PARENT_PROFILE_PASSWORD;
 
         final MetricsFeatureProvider metricsProvider =
-                FeatureFactory.getFactory(this).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsProvider.action(
                 metricsProvider.getAttribution(this),
                 action,
diff --git a/src/com/android/settings/password/SetupChooseLockGeneric.java b/src/com/android/settings/password/SetupChooseLockGeneric.java
index bc6c512..7c0769e 100644
--- a/src/com/android/settings/password/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/password/SetupChooseLockGeneric.java
@@ -113,7 +113,7 @@
             layout.setDescriptionText(loadDescriptionText());
             layout.setDividerItemDecoration(new SettingsDividerItemDecoration(getContext()));
             layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
-                    R.dimen.sud_items_glif_text_divider_inset));
+                    com.google.android.setupdesign.R.dimen.sud_items_glif_text_divider_inset));
 
             layout.setIcon(getContext().getDrawable(R.drawable.ic_lock));
 
diff --git a/src/com/android/settings/password/SetupChooseLockPassword.java b/src/com/android/settings/password/SetupChooseLockPassword.java
index d0d7d93..f7bf014 100644
--- a/src/com/android/settings/password/SetupChooseLockPassword.java
+++ b/src/com/android/settings/password/SetupChooseLockPassword.java
@@ -99,7 +99,7 @@
 
             if (showOptionsButton && anyOptionsShown) {
                 mOptionsButton = new Button(new ContextThemeWrapper(getActivity(),
-                        R.style.SudGlifButton_Tertiary));
+                        com.google.android.setupdesign.R.style.SudGlifButton_Tertiary));
                 mOptionsButton.setId(R.id.screen_lock_options);
                 PasswordUtils.setupScreenLockOptionsButton(getActivity(), view, mOptionsButton);
                 mOptionsButton.setVisibility(View.VISIBLE);
diff --git a/src/com/android/settings/password/SetupChooseLockPattern.java b/src/com/android/settings/password/SetupChooseLockPattern.java
index 560906d..e233f44 100644
--- a/src/com/android/settings/password/SetupChooseLockPattern.java
+++ b/src/com/android/settings/password/SetupChooseLockPattern.java
@@ -85,7 +85,7 @@
             View view = super.onCreateView(inflater, container, savedInstanceState);
             if (!getResources().getBoolean(R.bool.config_lock_pattern_minimal_ui)) {
                 mOptionsButton = new Button(new ContextThemeWrapper(getActivity(),
-                        R.style.SudGlifButton_Tertiary));
+                        com.google.android.setupdesign.R.style.SudGlifButton_Tertiary));
                 mOptionsButton.setId(R.id.screen_lock_options);
                 PasswordUtils.setupScreenLockOptionsButton(getActivity(), view, mOptionsButton);
                 mOptionsButton.setOnClickListener((btn) ->
diff --git a/src/com/android/settings/privacy/PrivacyDashboardFragment.java b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
index 4d76277..04b10d2 100644
--- a/src/com/android/settings/privacy/PrivacyDashboardFragment.java
+++ b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
@@ -28,7 +28,6 @@
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
 import com.android.settings.safetycenter.SafetyCenterUtils;
-import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -55,15 +54,7 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        List<EnterpriseOverrideString> privacyOverrideStrings =
-                SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
-        for (int i = 0; i < privacyOverrideStrings.size(); i++) {
-            EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(
-                    overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(),
-                    overrideString.getResource());
-        }
+        SafetyCenterUtils.replaceEnterpriseStringsForPrivacyEntries(this);
     }
 
     @Override
diff --git a/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java b/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java
index 2d1d9e1..d7203cb 100644
--- a/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java
+++ b/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java
@@ -34,7 +34,7 @@
     public WorkPolicyInfoPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mEnterpriseProvider =
-                FeatureFactory.getFactory(context).getEnterprisePrivacyFeatureProvider(context);
+                FeatureFactory.getFeatureFactory().getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
index 2a99e99..a608fbf 100644
--- a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
+++ b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
@@ -64,7 +64,7 @@
                 RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE, "");
         mSelectedLanguage = argument.getString(
                 NumberingSystemItemController.KEY_SELECTED_LANGUAGE, "");
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     /**
diff --git a/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java b/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
index 432ce0e..ac0e7ee 100644
--- a/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
+++ b/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
@@ -16,11 +16,8 @@
 
 package com.android.settings.regionalpreferences;
 
-import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.util.Log;
 
-import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
@@ -38,7 +35,7 @@
 
     public RegionalPreferenceListBasePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/remoteauth/OWNERS b/src/com/android/settings/remoteauth/OWNERS
new file mode 100644
index 0000000..64e7f5c
--- /dev/null
+++ b/src/com/android/settings/remoteauth/OWNERS
@@ -0,0 +1,5 @@
+# People who can approve changes for submission
+dlm@google.com
+jasonsun@google.com
+derekjedral@google.com
+justinmcclain@google.com
diff --git a/src/com/android/settings/remoteauth/RemoteAuthEnrollBase.kt b/src/com/android/settings/remoteauth/RemoteAuthEnrollBase.kt
new file mode 100644
index 0000000..e00faec
--- /dev/null
+++ b/src/com/android/settings/remoteauth/RemoteAuthEnrollBase.kt
@@ -0,0 +1,83 @@
+/*
+ * 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.remoteauth
+
+import android.R
+import android.graphics.Color
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.annotation.ColorInt
+import androidx.annotation.IdRes
+import androidx.annotation.LayoutRes
+import androidx.fragment.app.Fragment
+
+import com.android.settings.Utils
+import com.google.android.setupcompat.template.FooterBarMixin
+import com.google.android.setupcompat.template.FooterButton
+import com.google.android.setupdesign.GlifLayout
+
+/**
+ * Displays a content view with a sticky footer in the SetupDesign style. Implementations
+ * must define a primary button, and an optional secondary button.
+ *
+ * A layout with a [GlifLayout] must be provided, along with the id of the [GlifLayout].
+ */
+abstract class RemoteAuthEnrollBase(
+    @LayoutRes val layoutResId: Int,
+    @IdRes private val glifLayoutId: Int
+) : Fragment(layoutResId) {
+    protected val primaryFooterButton by lazy { initializePrimaryFooterButton() }
+    protected val secondaryFooterButton by lazy { initializeSecondaryFooterButton() }
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        viewGroup: ViewGroup?,
+        savedInstanceArgs: Bundle?
+    ) =
+        super.onCreateView(inflater, viewGroup, savedInstanceArgs)!!.also { view ->
+            initializeFooterbarMixin(view)
+        }
+
+    protected fun getGlifLayout(view: View) = view.findViewById<GlifLayout>(glifLayoutId)
+
+    /**
+     * Return a button will be used as the primary footer button.
+     */
+    abstract fun initializePrimaryFooterButton(): FooterButton
+
+    /** If non-null, returned button will be used as the secondary footer button. */
+    abstract fun initializeSecondaryFooterButton(): FooterButton?
+
+    private fun initializeFooterbarMixin(view: View) {
+        val footerBarMixin = getGlifLayout(view).getMixin(FooterBarMixin::class.java)
+        primaryFooterButton.also { footerBarMixin.primaryButton = it }
+        secondaryFooterButton?.also { footerBarMixin.secondaryButton = it }
+        footerBarMixin.getButtonContainer().setBackgroundColor(getBackgroundColor())
+    }
+
+    @ColorInt
+    private fun getBackgroundColor(): Int {
+        val stateList = Utils.getColorAttr(context, R.attr.windowBackground)
+        return stateList?.defaultColor ?: Color.TRANSPARENT
+    }
+
+    private companion object{
+        const val TAG = "RemoteAuthEnrollBase"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinish.kt b/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinish.kt
new file mode 100644
index 0000000..c55b4ed
--- /dev/null
+++ b/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinish.kt
@@ -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.remoteauth.finish
+
+import android.os.Bundle
+import android.view.View
+
+import com.android.settings.R
+import com.android.settings.remoteauth.RemoteAuthEnrollBase
+import com.android.settingslib.widget.LottieColorUtils
+
+import com.airbnb.lottie.LottieAnimationView
+import com.google.android.setupcompat.template.FooterButton
+
+/**
+ * Displays the enrollment finish view.
+ */
+class RemoteAuthEnrollFinish :
+    RemoteAuthEnrollBase(
+        layoutResId = R.layout.remote_auth_enroll_finish,
+        glifLayoutId = R.id.setup_wizard_layout,
+    ) {
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        LottieColorUtils.applyDynamicColors(requireContext(), view.findViewById<LottieAnimationView>(R.id.enroll_finish_animation))
+    }
+
+    override fun initializePrimaryFooterButton(): FooterButton {
+        return FooterButton.Builder(requireContext())
+            .setText(R.string.security_settings_remoteauth_enroll_finish_btn_next)
+            .setListener(this::onPrimaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.NEXT)
+            .setTheme(R.style.SudGlifButton_Primary)
+            .build()
+    }
+
+    override fun initializeSecondaryFooterButton(): FooterButton? = null
+
+    fun onPrimaryFooterButtonClick(view: View) {
+        // TODO(b/293906345): Wire up navigation
+    }
+
+    private companion object{
+        const val TAG = "RemoteAuthEnrollFinish"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/introduction/IntroductionImageCarousel.kt b/src/com/android/settings/remoteauth/introduction/IntroductionImageCarousel.kt
new file mode 100644
index 0000000..ffc683e
--- /dev/null
+++ b/src/com/android/settings/remoteauth/introduction/IntroductionImageCarousel.kt
@@ -0,0 +1,159 @@
+/*
+ * 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.remoteauth.introduction
+
+import android.content.Context
+import android.util.AttributeSet
+import android.util.Log
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+
+import androidx.annotation.VisibleForTesting
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import androidx.viewpager2.widget.MarginPageTransformer
+import androidx.viewpager2.widget.ViewPager2
+
+import com.airbnb.lottie.LottieAnimationView
+
+import com.android.settings.R
+import com.android.settingslib.widget.LottieColorUtils
+
+class IntroductionImageCarousel : ConstraintLayout {
+    private val carousel: ViewPager2 by lazy { findViewById<ViewPager2>(R.id.image_carousel) }
+    private val progressIndicator: RecyclerView by lazy {
+        findViewById<RecyclerView>(R.id.carousel_progress_indicator)
+    }
+    private val backArrow: ImageView by lazy { findViewById<ImageView>(R.id.carousel_back_arrow) }
+    private val forwardArrow: ImageView by lazy {
+        findViewById<ImageView>(R.id.carousel_forward_arrow)
+    }
+    private val progressIndicatorAdapter = ProgressIndicatorAdapter()
+    // The index of the current animation we are on
+    private var currentPage = 0
+        set(value) {
+            val pageRange = 0..(ANIMATION_LIST.size - 1)
+            field = value.coerceIn(pageRange)
+            backArrow.isEnabled = field > pageRange.start
+            forwardArrow.isEnabled = field < pageRange.endInclusive
+            carousel.setCurrentItem(field)
+            progressIndicatorAdapter.currentIndex = field
+        }
+
+    private val onPageChangeCallback =
+        object : ViewPager2.OnPageChangeCallback() {
+            override fun onPageSelected(position: Int) {
+                currentPage = position
+            }
+        }
+    constructor(context: Context) : super(context)
+    constructor(context: Context, attrSet: AttributeSet?) : super(context, attrSet)
+
+    init {
+        LayoutInflater.from(context).inflate(R.layout.remote_auth_introduction_image_carousel, this)
+
+        with(carousel) {
+            setPageTransformer(
+                MarginPageTransformer(
+                    context.resources.getDimension(R.dimen.remoteauth_introduction_fragment_padding_horizontal).toInt()
+                )
+            )
+            adapter = ImageCarouselAdapter()
+            registerOnPageChangeCallback(onPageChangeCallback)
+        }
+
+        with(progressIndicator) {
+            layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
+            adapter = progressIndicatorAdapter
+        }
+
+        backArrow.setOnClickListener { currentPage-- }
+        forwardArrow.setOnClickListener { currentPage++ }
+    }
+
+    fun unregister() {
+        carousel.unregisterOnPageChangeCallback(onPageChangeCallback)
+    }
+
+    private class AnimationViewHolder(val context: Context, itemView: View) : RecyclerView.ViewHolder(itemView) {
+        val animationView = itemView.requireViewById<LottieAnimationView>(R.id.explanation_animation)
+        val descriptionText = itemView.requireViewById<TextView>(R.id.carousel_text)
+    }
+
+    /** Adapter for the onboarding animations. */
+    private class ImageCarouselAdapter : RecyclerView.Adapter<AnimationViewHolder>() {
+
+        override fun getItemCount() = ANIMATION_LIST.size
+
+        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
+            AnimationViewHolder(parent.context, LayoutInflater.from(parent.context).inflate(R.layout.remote_auth_introduction_image_carousel_item, parent, false))
+
+        override fun onBindViewHolder(holder: AnimationViewHolder, position: Int) {
+            with(holder.animationView) {
+                setAnimation(ANIMATION_LIST[position].first)
+                LottieColorUtils.applyDynamicColors(holder.context, this)
+            }
+            holder.descriptionText.setText(ANIMATION_LIST[position].second)
+            with(holder.itemView) {
+                // This makes sure that the proper description text instead of a generic "Page" label is
+                // verbalized by Talkback when switching to a new page on the ViewPager2.
+                contentDescription = context.getString(ANIMATION_LIST[position].second)
+            }
+        }
+    }
+
+    /** Adapter for icons indicating carousel progress. */
+    private class ProgressIndicatorAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
+
+        var currentIndex: Int = 0
+            set(value) {
+                val previousIndex = field
+                field = value.coerceIn(0, getItemCount() - 1)
+                notifyItemChanged(previousIndex)
+                notifyItemChanged(field)
+            }
+
+        override fun getItemCount() = ANIMATION_LIST.size
+
+        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
+            object :
+                RecyclerView.ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.remote_auth_introduction_image_carousel_progress_icon, parent, false)) {}
+
+        override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
+            holder.itemView.isSelected = position == currentIndex
+        }
+    }
+    companion object {
+        @VisibleForTesting
+        val ANIMATION_LIST =
+            listOf(
+                Pair(
+                    R.raw.remoteauth_explanation_swipe_animation,
+                    R.string.security_settings_remoteauth_enroll_introduction_animation_swipe_up
+                ),
+                Pair(
+                    R.raw.remoteauth_explanation_notification_animation,
+                    R.string.security_settings_remoteauth_enroll_introduction_animation_tap_notification
+                ),
+            )
+        const val TAG = "RemoteAuthCarousel"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroduction.kt b/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroduction.kt
new file mode 100644
index 0000000..21b8af2
--- /dev/null
+++ b/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroduction.kt
@@ -0,0 +1,92 @@
+/*
+ * 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.remoteauth.introduction
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import com.android.settings.R
+import com.android.settings.remoteauth.RemoteAuthEnrollBase
+import com.google.android.setupcompat.template.FooterButton
+import com.google.android.setupdesign.template.RequireScrollMixin
+
+/**
+ * Provides introductory info about remote authenticator unlock.
+ */
+class RemoteAuthEnrollIntroduction :
+    RemoteAuthEnrollBase(
+        layoutResId = R.layout.remote_auth_enroll_introduction,
+        glifLayoutId = R.id.setup_wizard_layout,
+    ) {
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        viewGroup: ViewGroup?,
+        savedInstanceArgs: Bundle?
+    ) =
+        super.onCreateView(inflater, viewGroup, savedInstanceArgs).also {
+            initializeRequireScrollMixin(it)
+        }
+
+
+    override fun initializePrimaryFooterButton() : FooterButton {
+        return FooterButton.Builder(context!!)
+            .setText(R.string.security_settings_remoteauth_enroll_introduction_agree)
+            .setListener(::onPrimaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.OPT_IN)
+            .setTheme(R.style.SudGlifButton_Primary)
+            .build()
+    }
+
+    override fun initializeSecondaryFooterButton() : FooterButton {
+        return FooterButton.Builder(context!!)
+            .setText(R.string.security_settings_remoteauth_enroll_introduction_disagree)
+            .setListener(::onSecondaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.NEXT)
+            .setTheme(R.style.SudGlifButton_Primary)
+            .build()
+    }
+
+    private fun onPrimaryFooterButtonClick(view: View) {
+        // TODO(b/293906345): Wire up navigation
+    }
+
+    private fun onSecondaryFooterButtonClick(view: View) {
+        // TODO(b/293906345): Wire up navigation
+    }
+
+    private fun initializeRequireScrollMixin(view: View) {
+        val layout = getGlifLayout(view)
+        secondaryFooterButton?.visibility = View.INVISIBLE
+        val requireScrollMixin = layout.getMixin(RequireScrollMixin::class.java)
+        requireScrollMixin.requireScrollWithButton(requireContext(), primaryFooterButton,
+            R.string.security_settings_remoteauth_enroll_introduction_more, ::onPrimaryFooterButtonClick)
+        requireScrollMixin.setOnRequireScrollStateChangedListener { scrollNeeded ->
+            if (scrollNeeded) {
+                primaryFooterButton.setText(requireContext(), R.string.security_settings_remoteauth_enroll_introduction_more)
+            } else {
+                primaryFooterButton.setText(requireContext(), R.string.security_settings_remoteauth_enroll_introduction_agree)
+                secondaryFooterButton?.visibility = View.VISIBLE
+            }
+        }
+    }
+
+    private companion object {
+        const val TAG = "RemoteAuthEnrollIntro"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
index 69ec385..34f8a53 100644
--- a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
+++ b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
@@ -27,7 +27,6 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.security.LockUnificationPreferenceController;
 import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
@@ -73,24 +72,8 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        List<EnterpriseOverrideString> privacyOverrideStrings =
-                SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
-        for (int i = 0; i < privacyOverrideStrings.size(); i++) {
-            EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(
-                    overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(),
-                    overrideString.getResource());
-        }
-        List<EnterpriseOverrideString> securityOverrideStrings =
-                SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
-        for (int i = 0; i < securityOverrideStrings.size(); i++) {
-            EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(
-                    overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(),
-                    overrideString.getResource());
-        }
+        SafetyCenterUtils.replaceEnterpriseStringsForPrivacyEntries(this);
+        SafetyCenterUtils.replaceEnterpriseStringsForSecurityEntries(this);
     }
 
     /** see confirmPatternThenDisableAndClear */
diff --git a/src/com/android/settings/safetycenter/SafetyCenterUtils.java b/src/com/android/settings/safetycenter/SafetyCenterUtils.java
index 5becbf9..e066530 100644
--- a/src/com/android/settings/safetycenter/SafetyCenterUtils.java
+++ b/src/com/android/settings/safetycenter/SafetyCenterUtils.java
@@ -28,7 +28,6 @@
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_UNIFY_LOCKS_SUMMARY;
 
-import android.annotation.StringRes;
 import android.content.Context;
 
 import com.android.settings.R;
@@ -47,26 +46,31 @@
 import java.util.ArrayList;
 import java.util.List;
 
-/**
- * A class with helper method used in logic involving safety center.
- */
+/** A class with helper method used in logic involving safety center. */
 public final class SafetyCenterUtils {
 
+    private static final String WORK_PROFILE_SECURITY_CATEGORY = "work_profile_category";
+    private static final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications";
+    private static final String KEY_WORK_PROFILE_CATEGORY =
+            "privacy_work_profile_notifications_category";
+    private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
+            "privacy_lock_screen_work_profile_notifications";
+
     /**
-     * Returns preference controllers related to advanced security entries.
-     * This is used in {@link MoreSecurityPrivacyFragment} and
-     * {@link com.android.settings.security.SecurityAdvancedSettings}.
+     * Returns preference controllers related to advanced security entries. This is used in {@link
+     * MoreSecurityPrivacyFragment} and {@link
+     * com.android.settings.security.SecurityAdvancedSettings}.
      */
     public static List<AbstractPreferenceController> getControllersForAdvancedSecurity(
             Context context,
-            com.android.settingslib.core.lifecycle.Lifecycle lifecycle, DashboardFragment host) {
-        final String WORK_PROFILE_SECURITY_CATEGORY = "work_profile_category";
+            com.android.settingslib.core.lifecycle.Lifecycle lifecycle,
+            DashboardFragment host) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new TrustAgentListPreferenceController(context, host, lifecycle));
 
         final List<AbstractPreferenceController> profileSecurityControllers = new ArrayList<>();
-        profileSecurityControllers.add(new ChangeProfileScreenLockPreferenceController(
-                context, host));
+        profileSecurityControllers.add(
+                new ChangeProfileScreenLockPreferenceController(context, host));
         profileSecurityControllers.add(new LockUnificationPreferenceController(context, host));
         profileSecurityControllers.add(new FaceProfileStatusPreferenceController(
                 context, lifecycle));
@@ -81,19 +85,15 @@
     }
 
     /**
-     * Returns preference controllers for advanced privacy entries.
-     * This is used in {@link MoreSecurityPrivacyFragment} and {@link PrivacyDashboardFragment}.
+     * Returns preference controllers for advanced privacy entries. This is used in {@link
+     * MoreSecurityPrivacyFragment} and {@link PrivacyDashboardFragment}.
      */
     public static List<AbstractPreferenceController> getControllersForAdvancedPrivacy(
             Context context, com.android.settingslib.core.lifecycle.Lifecycle lifecycle) {
-        final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications";
-        final String KEY_WORK_PROFILE_CATEGORY =
-                "privacy_work_profile_notifications_category";
-        final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
-                "privacy_lock_screen_work_profile_notifications";
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         final LockScreenNotificationPreferenceController notificationController =
-                new LockScreenNotificationPreferenceController(context,
+                new LockScreenNotificationPreferenceController(
+                        context,
                         KEY_LOCK_SCREEN_NOTIFICATIONS,
                         KEY_WORK_PROFILE_CATEGORY,
                         KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
@@ -104,84 +104,54 @@
         return controllers;
     }
 
-    /**
-     * A class that stores the resource that will be overridden using preferenceKey and overrideKey.
-     */
-    public static final class EnterpriseOverrideString {
-        private final String mPreferenceKey;
-        private final String mOverrideKey;
-        @StringRes private final int mResource;
-
-        public EnterpriseOverrideString(
-                String preferenceKey,
-                String overrideKey,
-                @StringRes int resource) {
-            this.mPreferenceKey = preferenceKey;
-            this.mOverrideKey = overrideKey;
-            this.mResource = resource;
-        }
-
-        @StringRes
-        public int getResource() {
-            return mResource;
-        }
-
-        public String getPreferenceKey() {
-            return mPreferenceKey;
-        }
-
-        public String getOverrideKey() {
-            return mOverrideKey;
-        }
-    }
-
-    /**
-     * Returns a list of @{EnterpriseOverrideString} for the privacy entries.
-     */
-    public static List<EnterpriseOverrideString> getEnterpriseOverrideStringForPrivacyEntries() {
-        List<EnterpriseOverrideString> enterpriseOverrideStrings = new ArrayList<>();
-        enterpriseOverrideStrings.add(
-                new EnterpriseOverrideString("privacy_lock_screen_work_profile_notifications",
-                        WORK_PROFILE_LOCKED_NOTIFICATION_TITLE,
-                        R.string.locked_work_profile_notification_title));
-        enterpriseOverrideStrings.add(
-                new EnterpriseOverrideString("interact_across_profiles_privacy",
-                        CONNECTED_WORK_AND_PERSONAL_APPS_TITLE,
-                        R.string.interact_across_profiles_title));
-        enterpriseOverrideStrings.add(
-                new EnterpriseOverrideString("privacy_work_profile_notifications_category",
-                        WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER,
-                        R.string.profile_section_header));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("work_policy_info",
-                WORK_PROFILE_PRIVACY_POLICY_INFO, R.string.work_policy_privacy_settings));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("work_policy_info",
+    /** Replaces relevant strings with their enterprise variants for the privacy entries. */
+    public static void replaceEnterpriseStringsForPrivacyEntries(
+            DashboardFragment dashboardFragment) {
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "privacy_lock_screen_work_profile_notifications",
+                WORK_PROFILE_LOCKED_NOTIFICATION_TITLE,
+                R.string.locked_work_profile_notification_title);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "interact_across_profiles_privacy",
+                CONNECTED_WORK_AND_PERSONAL_APPS_TITLE,
+                R.string.interact_across_profiles_title);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "privacy_work_profile_notifications_category",
+                WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER,
+                R.string.profile_section_header);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "work_policy_info",
+                WORK_PROFILE_PRIVACY_POLICY_INFO,
+                R.string.work_policy_privacy_settings);
+        dashboardFragment.replaceEnterpriseStringSummary(
+                "work_policy_info",
                 WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY,
-                R.string.work_policy_privacy_settings_summary));
-        return enterpriseOverrideStrings;
+                R.string.work_policy_privacy_settings_summary);
     }
 
-    /**
-     * Returns a list of @{EnterpriseOverrideString} for the security entries.
-     */
-    public static List<EnterpriseOverrideString> getEnterpriseOverrideStringForSecurityEntries() {
-        List<EnterpriseOverrideString> enterpriseOverrideStrings = new ArrayList<>();
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("unlock_set_or_change_profile",
+    /** Replaces relevant strings with their enterprise variants for the security entries. */
+    public static void replaceEnterpriseStringsForSecurityEntries(
+            DashboardFragment dashboardFragment) {
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "unlock_set_or_change_profile",
                 WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE,
-                R.string.unlock_set_unlock_launch_picker_title_profile));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("unification",
+                R.string.unlock_set_unlock_launch_picker_title_profile);
+        dashboardFragment.replaceEnterpriseStringSummary(
+                "unification",
                 WORK_PROFILE_UNIFY_LOCKS_SUMMARY,
-                R.string.lock_settings_profile_unification_summary));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("fingerprint_settings_profile",
+                R.string.lock_settings_profile_unification_summary);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "fingerprint_settings_profile",
                 FINGERPRINT_FOR_WORK,
-                R.string.security_settings_work_fingerprint_preference_title));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("manage_device_admin",
-                MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("security_category_profile",
-                WORK_PROFILE_SECURITY_TITLE, R.string.lock_settings_profile_title));
-        enterpriseOverrideStrings.add(
-                new EnterpriseOverrideString("enterprise_privacy", MANAGED_DEVICE_INFO,
-                        R.string.enterprise_privacy_settings));
-        return enterpriseOverrideStrings;
+                R.string.security_settings_work_fingerprint_preference_title);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "manage_device_admin", MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "security_category_profile",
+                WORK_PROFILE_SECURITY_TITLE,
+                R.string.lock_settings_profile_title);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "enterprise_privacy", MANAGED_DEVICE_INFO, R.string.enterprise_privacy_settings);
     }
 
     private SafetyCenterUtils() {}
diff --git a/src/com/android/settings/search/SearchFeatureProvider.java b/src/com/android/settings/search/SearchFeatureProvider.java
index cd096ec..9262ba8 100644
--- a/src/com/android/settings/search/SearchFeatureProvider.java
+++ b/src/com/android/settings/search/SearchFeatureProvider.java
@@ -136,10 +136,10 @@
     /** Start the search activity. */
     private static void startSearchActivity(
             Context context, FragmentActivity activity, int pageId, Intent intent) {
-        FeatureFactory.getFactory(context).getSlicesFeatureProvider()
+        FeatureFactory.getFeatureFactory().getSlicesFeatureProvider()
                 .indexSliceDataAsync(context);
 
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .logSettingsTileClick(KEY_HOMEPAGE_SEARCH_BAR, pageId);
 
         final Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(activity).toBundle();
diff --git a/src/com/android/settings/search/SearchResultTrampoline.java b/src/com/android/settings/search/SearchResultTrampoline.java
index 6ba0338..f72b097 100644
--- a/src/com/android/settings/search/SearchResultTrampoline.java
+++ b/src/com/android/settings/search/SearchResultTrampoline.java
@@ -54,7 +54,7 @@
 
         final ComponentName callingActivity = getCallingActivity();
         // First make sure caller has privilege to launch a search result page.
-        FeatureFactory.getFactory(this)
+        FeatureFactory.getFeatureFactory()
                 .getSearchFeatureProvider()
                 .verifyLaunchSearchResultPageCaller(this, callingActivity);
         // Didn't crash, proceed and launch the result as a subsetting.
@@ -141,7 +141,7 @@
     private boolean isSettingsIntelligence(ComponentName callingActivity) {
         return callingActivity != null && TextUtils.equals(
                 callingActivity.getPackageName(),
-                FeatureFactory.getFactory(this).getSearchFeatureProvider()
+                FeatureFactory.getFeatureFactory().getSearchFeatureProvider()
                         .getSettingsIntelligencePkgName(this));
     }
 }
diff --git a/src/com/android/settings/search/actionbar/SearchMenuController.java b/src/com/android/settings/search/actionbar/SearchMenuController.java
index 9e22bbf..98c9c1f 100644
--- a/src/com/android/settings/search/actionbar/SearchMenuController.java
+++ b/src/com/android/settings/search/actionbar/SearchMenuController.java
@@ -91,7 +91,7 @@
         searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
 
         searchItem.setOnMenuItemClickListener(target -> {
-            final Intent intent = FeatureFactory.getFactory(activity)
+            final Intent intent = FeatureFactory.getFeatureFactory()
                     .getSearchFeatureProvider()
                     .buildSearchIntent(activity, mPageId);
 
@@ -100,7 +100,7 @@
                 return true;
             }
 
-            FeatureFactory.getFactory(activity).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .action(activity, SettingsEnums.ACTION_SEARCH_RESULTS);
             mHost.startActivityForResult(intent, SearchFeatureProvider.REQUEST_CODE);
             return true;
diff --git a/src/com/android/settings/security/ChangeScreenLockPreferenceController.java b/src/com/android/settings/security/ChangeScreenLockPreferenceController.java
index 3870634..2fab6c8 100644
--- a/src/com/android/settings/security/ChangeScreenLockPreferenceController.java
+++ b/src/com/android/settings/security/ChangeScreenLockPreferenceController.java
@@ -56,12 +56,12 @@
     public ChangeScreenLockPreferenceController(Context context, SettingsPreferenceFragment host) {
         super(context);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mHost = host;
         mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mScreenLockPreferenceDetailUtils = new ScreenLockPreferenceDetailsUtils(context);
     }
 
diff --git a/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
index 2712a02..b6b3608 100644
--- a/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
+++ b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
@@ -48,7 +48,7 @@
         mConfirmationDefaultOn =
                 context.getResources()
                         .getBoolean(R.bool.config_sim_deletion_confirmation_default_on);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         mUserManager = context.getSystemService(UserManager.class);
         mKeyguardManager = mContext.getSystemService(KeyguardManager.class);
diff --git a/src/com/android/settings/security/CredentialManagementAppHeaderController.java b/src/com/android/settings/security/CredentialManagementAppHeaderController.java
index 9361fb9..693857e 100644
--- a/src/com/android/settings/security/CredentialManagementAppHeaderController.java
+++ b/src/com/android/settings/security/CredentialManagementAppHeaderController.java
@@ -82,7 +82,8 @@
         ImageView appIconView = headerPref.findViewById(R.id.entity_header_icon);
         TextView titleView = headerPref.findViewById(R.id.entity_header_title);
         TextView summary1 = headerPref.findViewById(R.id.entity_header_summary);
-        TextView summary2 = headerPref.findViewById(R.id.entity_header_second_summary);
+        TextView summary2 = headerPref.findViewById(
+                com.android.settingslib.widget.R.id.entity_header_second_summary);
         summary2.setVisibility(View.GONE);
 
         try {
diff --git a/src/com/android/settings/security/InstallCaCertificateWarning.java b/src/com/android/settings/security/InstallCaCertificateWarning.java
index 139bc1c..7775f83 100644
--- a/src/com/android/settings/security/InstallCaCertificateWarning.java
+++ b/src/com/android/settings/security/InstallCaCertificateWarning.java
@@ -58,7 +58,7 @@
                         .setText(R.string.certificate_warning_install_anyway)
                         .setListener(installCaCertificate())
                         .setButtonType(FooterButton.ButtonType.OTHER)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
         mixin.getSecondaryButtonView().setFilterTouchesWhenObscured(true);
@@ -68,7 +68,7 @@
                         .setText(R.string.certificate_warning_dont_install)
                         .setListener(returnToInstallCertificateFromStorage())
                         .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
         mixin.getPrimaryButtonView().setFilterTouchesWhenObscured(true);
diff --git a/src/com/android/settings/security/LockUnificationPreferenceController.java b/src/com/android/settings/security/LockUnificationPreferenceController.java
index d85d65b..e9931df 100644
--- a/src/com/android/settings/security/LockUnificationPreferenceController.java
+++ b/src/com/android/settings/security/LockUnificationPreferenceController.java
@@ -97,7 +97,7 @@
         mHost = host;
         mUm = context.getSystemService(UserManager.class);
         mDpm = context.getSystemService(DevicePolicyManager.class);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mProfileUserId = Utils.getManagedProfileId(mUm, MY_USER_ID);
diff --git a/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java b/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java
index 7de2635..88477c3 100644
--- a/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java
+++ b/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java
@@ -50,7 +50,7 @@
     public ScreenLockPreferenceDetailsUtils(Context context) {
         mContext = context;
         mUm = context.getSystemService(UserManager.class);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
diff --git a/src/com/android/settings/security/ScreenPinningSettings.java b/src/com/android/settings/security/ScreenPinningSettings.java
index dae79e8..ea80cb0 100644
--- a/src/com/android/settings/security/ScreenPinningSettings.java
+++ b/src/com/android/settings/security/ScreenPinningSettings.java
@@ -15,6 +15,8 @@
  */
 package com.android.settings.security;
 
+import static android.app.Activity.RESULT_OK;
+
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -167,7 +169,7 @@
             setScreenLockUsed(validPassQuality);
             // Make sure the screen updates.
             mUseScreenLock.setChecked(validPassQuality);
-        } else if (requestCode == CONFIRM_REQUEST) {
+        } else if (requestCode == CONFIRM_REQUEST && resultCode == RESULT_OK) {
             setScreenLockUsedSetting(false);
         }
     }
diff --git a/src/com/android/settings/security/SecurityAdvancedSettings.java b/src/com/android/settings/security/SecurityAdvancedSettings.java
index 61f0975..c29372c 100644
--- a/src/com/android/settings/security/SecurityAdvancedSettings.java
+++ b/src/com/android/settings/security/SecurityAdvancedSettings.java
@@ -27,7 +27,6 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
 import com.android.settings.safetycenter.SafetyCenterUtils;
-import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -54,15 +53,7 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        List<EnterpriseOverrideString> securityOverrideStrings =
-                SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
-        for (int i = 0; i < securityOverrideStrings.size(); i++) {
-            EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(
-                    overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(),
-                    overrideString.getResource());
-        }
+        SafetyCenterUtils.replaceEnterpriseStringsForSecurityEntries(this);
     }
 
     @Override
@@ -79,7 +70,7 @@
             return CategoryKey.CATEGORY_SECURITY_ADVANCED_SETTINGS;
         } else {
             final SecuritySettingsFeatureProvider securitySettingsFeatureProvider =
-                    FeatureFactory.getFactory(context).getSecuritySettingsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getSecuritySettingsFeatureProvider();
 
             if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) {
                 return securitySettingsFeatureProvider.getAlternativeAdvancedSettingsCategoryKey();
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
index b30b54d..6d987f3 100644
--- a/src/com/android/settings/security/SecuritySettings.java
+++ b/src/com/android/settings/security/SecuritySettings.java
@@ -127,7 +127,7 @@
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
-                    return !FeatureFactory.getFactory(context).getSecuritySettingsFeatureProvider()
+                    return !FeatureFactory.getFeatureFactory().getSecuritySettingsFeatureProvider()
                             .hasAlternativeSecuritySettingsFragment()
                             && !SafetyCenterManagerWrapper.get().isEnabled(context);
                 }
diff --git a/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java b/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
index f83a909..95ef5be 100644
--- a/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
+++ b/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
@@ -32,7 +32,7 @@
 
     public TopLevelSecurityEntryPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mSecuritySettingsFeatureProvider = FeatureFactory.getFactory(mContext)
+        mSecuritySettingsFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getSecuritySettingsFeatureProvider();
     }
 
diff --git a/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java b/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java
index 4d65ae7..3d64ca8 100644
--- a/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java
+++ b/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java
@@ -66,7 +66,7 @@
             Context context, Lifecycle lifecycle, String key) {
         super(context, key);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
diff --git a/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java b/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java
index 180ed99..dd99e9f 100644
--- a/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java
+++ b/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java
@@ -54,7 +54,7 @@
         mUserId = userId;
         mLockPatternUtils = lockPatternUtils;
         mDPM = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
-        mTrustAgentManager = FeatureFactory.getFactory(context)
+        mTrustAgentManager = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider().getTrustAgentManager();
     }
 
diff --git a/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceController.java b/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceController.java
index d3c10b0..9836a24 100644
--- a/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceController.java
+++ b/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceController.java
@@ -44,7 +44,7 @@
         super(context);
         mUserId = userId;
         mLockPatternUtils = lockPatternUtils;
-        mTrustAgentManager = FeatureFactory.getFactory(context)
+        mTrustAgentManager = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider().getTrustAgentManager();
     }
 
@@ -78,7 +78,7 @@
                     R.string.lockpattern_settings_power_button_instantly_locks_summary,
                     trustAgentLabel));
         } else {
-            preference.setSummary(R.string.summary_empty);
+            preference.setSummary(com.android.settingslib.R.string.summary_empty);
         }
     }
 
diff --git a/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceController.java b/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceController.java
index 8943878..82b25ef 100644
--- a/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceController.java
+++ b/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceController.java
@@ -37,7 +37,7 @@
 
     public ManageTrustAgentsPreferenceController(Context context, String key) {
         super(context, key);
-        final SecurityFeatureProvider securityFeatureProvider = FeatureFactory.getFactory(context)
+        final SecurityFeatureProvider securityFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider();
         mLockPatternUtils = securityFeatureProvider.getLockPatternUtils(context);
         mTrustAgentManager = securityFeatureProvider.getTrustAgentManager();
diff --git a/src/com/android/settings/security/trustagent/TrustAgentListPreferenceController.java b/src/com/android/settings/security/trustagent/TrustAgentListPreferenceController.java
index 4f235e1..2ec90de 100644
--- a/src/com/android/settings/security/trustagent/TrustAgentListPreferenceController.java
+++ b/src/com/android/settings/security/trustagent/TrustAgentListPreferenceController.java
@@ -74,7 +74,7 @@
     public TrustAgentListPreferenceController(Context context, SettingsPreferenceFragment host,
             Lifecycle lifecycle) {
         super(context);
-        final SecurityFeatureProvider provider = FeatureFactory.getFactory(context)
+        final SecurityFeatureProvider provider = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider();
         mHost = host;
         mLockPatternUtils = provider.getLockPatternUtils(context);
diff --git a/src/com/android/settings/security/trustagent/TrustAgentsPreferenceController.java b/src/com/android/settings/security/trustagent/TrustAgentsPreferenceController.java
index 4268839..dcc6c22 100644
--- a/src/com/android/settings/security/trustagent/TrustAgentsPreferenceController.java
+++ b/src/com/android/settings/security/trustagent/TrustAgentsPreferenceController.java
@@ -70,7 +70,7 @@
         mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
         mIconDrawableFactory = IconDrawableFactory.newInstance(context);
         final SecurityFeatureProvider securityFeatureProvider =
-                FeatureFactory.getFactory(context).getSecurityFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSecurityFeatureProvider();
         mTrustAgentManager = securityFeatureProvider.getTrustAgentManager();
         mLockPatternUtils = securityFeatureProvider.getLockPatternUtils(context);
         mPackageManager = context.getPackageManager();
diff --git a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
index bf95348..0d4ea76 100644
--- a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
+++ b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
@@ -83,7 +83,7 @@
                 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
         mShortcutManager = context.getSystemService(ShortcutManager.class);
         mPackageManager = context.getPackageManager();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context)
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getMetricsFeatureProvider();
     }
 
diff --git a/src/com/android/settings/sim/ChooseSimActivity.java b/src/com/android/settings/sim/ChooseSimActivity.java
index cebc1ba..9a75b63 100644
--- a/src/com/android/settings/sim/ChooseSimActivity.java
+++ b/src/com/android/settings/sim/ChooseSimActivity.java
@@ -316,8 +316,9 @@
         @Override
         public void onBindView(View view) {
             super.onBindView(view);
-            TextView title = view.findViewById(R.id.sud_items_title);
-            TextView summary = view.findViewById(R.id.sud_items_summary);
+            TextView title = view.findViewById(com.google.android.setupdesign.R.id.sud_items_title);
+            TextView summary =
+                    view.findViewById(com.google.android.setupdesign.R.id.sud_items_summary);
             title.setEnabled(isEnabled());
             summary.setEnabled(isEnabled());
         }
diff --git a/src/com/android/settings/sim/SimDialogActivity.java b/src/com/android/settings/sim/SimDialogActivity.java
index e7b0185..d65b2d1 100644
--- a/src/com/android/settings/sim/SimDialogActivity.java
+++ b/src/com/android/settings/sim/SimDialogActivity.java
@@ -90,7 +90,7 @@
         }
         SimDialogProhibitService.supportDismiss(this);
 
-        mMetricsFeatureProvider = FeatureFactory.getFactory(this).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         getWindow().addSystemFlags(
                 WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
         showOrUpdateDialog();
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index 5d2bde3..f9e0091 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -164,7 +164,7 @@
             Log.d(TAG, "onSlicePinned: " + sliceUri);
             mFirstSlicePinned = true;
         }
-        FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(SettingsEnums.PAGE_UNKNOWN,
                         SettingsEnums.ACTION_SETTINGS_SLICE_REQUESTED,
                         SettingsEnums.PAGE_UNKNOWN,
@@ -173,7 +173,7 @@
 
         if (CustomSliceRegistry.isValidUri(sliceUri)) {
             final Context context = getContext();
-            final CustomSliceable sliceable = FeatureFactory.getFactory(context)
+            final CustomSliceable sliceable = FeatureFactory.getFeatureFactory()
                     .getSlicesFeatureProvider().getSliceableFromUri(context, sliceUri);
             final IntentFilter filter = sliceable.getIntentFilter();
             if (filter != null) {
@@ -227,7 +227,7 @@
             final boolean nightMode = Utils.isNightMode(getContext());
             if (mNightMode == null) {
                 mNightMode = nightMode;
-                getContext().setTheme(R.style.Theme_SettingsBase);
+                getContext().setTheme(com.android.settingslib.widget.R.style.Theme_SettingsBase);
             } else if (mNightMode != nightMode) {
                 Log.d(TAG, "Night mode changed, reload theme");
                 mNightMode = nightMode;
@@ -246,13 +246,13 @@
             // from the Settings team.
             if (CustomSliceRegistry.isValidUri(sliceUri)) {
                 final Context context = getContext();
-                return FeatureFactory.getFactory(context)
+                return FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider().getSliceableFromUri(context, sliceUri)
                         .getSlice();
             }
 
             if (CustomSliceRegistry.WIFI_CALLING_URI.equals(sliceUri)) {
-                return FeatureFactory.getFactory(getContext())
+                return FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewWifiCallingSliceHelper(getContext())
                         .createWifiCallingSlice(sliceUri);
@@ -261,12 +261,12 @@
             } else if (CustomSliceRegistry.BLUETOOTH_URI.equals(sliceUri)) {
                 return BluetoothSliceBuilder.getSlice(getContext());
             } else if (CustomSliceRegistry.ENHANCED_4G_SLICE_URI.equals(sliceUri)) {
-                return FeatureFactory.getFactory(getContext())
+                return FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewEnhanced4gLteSliceHelper(getContext())
                         .createEnhanced4gLteSlice(sliceUri);
             } else if (CustomSliceRegistry.WIFI_CALLING_PREFERENCE_URI.equals(sliceUri)) {
-                return FeatureFactory.getFactory(getContext())
+                return FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewWifiCallingSliceHelper(getContext())
                         .createWifiCallingPreferenceSlice(sliceUri);
diff --git a/src/com/android/settings/slices/SliceBroadcastReceiver.java b/src/com/android/settings/slices/SliceBroadcastReceiver.java
index d3c7a4d..2c9853a 100644
--- a/src/com/android/settings/slices/SliceBroadcastReceiver.java
+++ b/src/com/android/settings/slices/SliceBroadcastReceiver.java
@@ -77,7 +77,7 @@
                 BluetoothSliceBuilder.handleUriChange(context, intent);
                 break;
             case ACTION_WIFI_CALLING_CHANGED:
-                FeatureFactory.getFactory(context)
+                FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewWifiCallingSliceHelper(context)
                         .handleWifiCallingChanged(intent);
@@ -86,7 +86,7 @@
                 ZenModeSliceBuilder.handleUriChange(context, intent);
                 break;
             case ACTION_ENHANCED_4G_LTE_CHANGED:
-                FeatureFactory.getFactory(context)
+                FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewEnhanced4gLteSliceHelper(context)
                         .handleEnhanced4gLteChanged(intent);
@@ -94,7 +94,7 @@
             case ACTION_WIFI_CALLING_PREFERENCE_WIFI_ONLY:
             case ACTION_WIFI_CALLING_PREFERENCE_WIFI_PREFERRED:
             case ACTION_WIFI_CALLING_PREFERENCE_CELLULAR_PREFERRED:
-                FeatureFactory.getFactory(context)
+                FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewWifiCallingSliceHelper(context)
                         .handleWifiCallingPreferenceChanged(intent);
@@ -172,7 +172,7 @@
      * follows the pattern in SharedPreferenceLogger.
      */
     private void logSliceValueChange(Context context, String sliceKey, int newValue) {
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(SettingsEnums.PAGE_UNKNOWN,
                         SettingsEnums.ACTION_SETTINGS_SLICE_CHANGED,
                         SettingsEnums.PAGE_UNKNOWN,
diff --git a/src/com/android/settings/slices/SliceDataConverter.java b/src/com/android/settings/slices/SliceDataConverter.java
index 61165cd..f6828af3 100644
--- a/src/com/android/settings/slices/SliceDataConverter.java
+++ b/src/com/android/settings/slices/SliceDataConverter.java
@@ -19,10 +19,12 @@
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_CONTROLLER;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_ICON;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
+import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_PREF_TYPE;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_SUMMARY;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_TITLE;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_UNAVAILABLE_SLICE_SUBTITLE;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_USER_RESTRICTION;
+import static com.android.settings.core.PreferenceXmlParserUtils.PREF_SCREEN_TAG;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.settings.SettingsEnums;
@@ -33,17 +35,15 @@
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
 import android.content.res.Resources;
-import android.content.res.XmlResourceParser;
 import android.net.Uri;
 import android.os.Bundle;
 import android.provider.SearchIndexableResource;
 import android.provider.SettingsSlicesContract;
 import android.text.TextUtils;
-import android.util.AttributeSet;
 import android.util.Log;
-import android.util.Xml;
 import android.view.accessibility.AccessibilityManager;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
@@ -59,7 +59,6 @@
 import com.android.settingslib.search.Indexable.SearchIndexProvider;
 import com.android.settingslib.search.SearchIndexableData;
 
-import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
@@ -80,14 +79,12 @@
 
     private static final String TAG = "SliceDataConverter";
 
-    private static final String NODE_NAME_PREFERENCE_SCREEN = "PreferenceScreen";
-
     private final MetricsFeatureProvider mMetricsFeatureProvider;
     private Context mContext;
 
     public SliceDataConverter(Context context) {
         mContext = context;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     /**
@@ -103,7 +100,7 @@
     public List<SliceData> getSliceData() {
         List<SliceData> sliceData = new ArrayList<>();
 
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(mContext)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
 
         for (SearchIndexableData bundle : bundles) {
@@ -155,36 +152,18 @@
     }
 
     private List<SliceData> getSliceDataFromXML(int xmlResId, String fragmentName) {
-        XmlResourceParser parser = null;
-
         final List<SliceData> xmlSliceData = new ArrayList<>();
         String controllerClassName = "";
+        @NonNull String screenTitle = "";
 
         try {
-            parser = mContext.getResources().getXml(xmlResId);
-
-            int type;
-            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-                    && type != XmlPullParser.START_TAG) {
-                // Parse next until start tag is found
-            }
-
-            String nodeName = parser.getName();
-            if (!NODE_NAME_PREFERENCE_SCREEN.equals(nodeName)) {
-                throw new RuntimeException(
-                        "XML document must start with <PreferenceScreen> tag; found"
-                                + nodeName + " at " + parser.getPositionDescription());
-            }
-
-            final AttributeSet attrs = Xml.asAttributeSet(parser);
-            final String screenTitle = PreferenceXmlParserUtils.getDataTitle(mContext, attrs);
-
             // TODO (b/67996923) Investigate if we need headers for Slices, since they never
             // correspond to an actual setting.
 
             final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext,
                     xmlResId,
-                    MetadataFlag.FLAG_NEED_KEY
+                    MetadataFlag.FLAG_INCLUDE_PREF_SCREEN
+                            | MetadataFlag.FLAG_NEED_KEY
                             | MetadataFlag.FLAG_NEED_PREF_CONTROLLER
                             | MetadataFlag.FLAG_NEED_PREF_TYPE
                             | MetadataFlag.FLAG_NEED_PREF_TITLE
@@ -194,6 +173,13 @@
                             | MetadataFlag.FLAG_NEED_USER_RESTRICTION);
 
             for (Bundle bundle : metadata) {
+                final String title = bundle.getString(METADATA_TITLE);
+                if (PREF_SCREEN_TAG.equals(bundle.getString(METADATA_PREF_TYPE))) {
+                    if (title != null) {
+                        screenTitle = title;
+                    }
+                    continue;
+                }
                 // TODO (b/67996923) Non-controller Slices should become intent-only slices.
                 // Note that without a controller, dynamic summaries are impossible.
                 controllerClassName = bundle.getString(METADATA_CONTROLLER);
@@ -211,7 +197,6 @@
                         || controller instanceof RingerModeAffectedVolumePreferenceController)) {
                     continue;
                 }
-                final String title = bundle.getString(METADATA_TITLE);
                 final String summary = bundle.getString(METADATA_SUMMARY);
                 final int iconResId = bundle.getInt(METADATA_ICON);
 
@@ -261,8 +246,6 @@
                     SettingsEnums.PAGE_UNKNOWN,
                     fragmentName + "_" + controllerClassName,
                     1);
-        } finally {
-            if (parser != null) parser.close();
         }
         return xmlSliceData;
     }
diff --git a/src/com/android/settings/slices/SlicesDatabaseAccessor.java b/src/com/android/settings/slices/SlicesDatabaseAccessor.java
index 93aade1..b083b79 100644
--- a/src/com/android/settings/slices/SlicesDatabaseAccessor.java
+++ b/src/com/android/settings/slices/SlicesDatabaseAccessor.java
@@ -194,8 +194,7 @@
     private void verifyIndexing() {
         final long uidToken = Binder.clearCallingIdentity();
         try {
-            FeatureFactory.getFactory(
-                    mContext).getSlicesFeatureProvider().indexSliceData(mContext);
+            FeatureFactory.getFeatureFactory().getSlicesFeatureProvider().indexSliceData(mContext);
         } finally {
             Binder.restoreCallingIdentity(uidToken);
         }
diff --git a/src/com/android/settings/slices/SlicesIndexer.java b/src/com/android/settings/slices/SlicesIndexer.java
index 3e7f800..268f3f0 100644
--- a/src/com/android/settings/slices/SlicesIndexer.java
+++ b/src/com/android/settings/slices/SlicesIndexer.java
@@ -88,7 +88,7 @@
 
     @VisibleForTesting
     List<SliceData> getSliceData() {
-        return FeatureFactory.getFactory(mContext)
+        return FeatureFactory.getFeatureFactory()
                 .getSlicesFeatureProvider()
                 .getSliceDataConverter(mContext)
                 .getSliceData();
diff --git a/src/com/android/settings/spa/app/AllAppList.kt b/src/com/android/settings/spa/app/AllAppList.kt
index 8bd1884..f3ad2e6 100644
--- a/src/com/android/settings/spa/app/AllAppList.kt
+++ b/src/com/android/settings/spa/app/AllAppList.kt
@@ -140,7 +140,8 @@
                             System.lineSeparator() + context.getString(R.string.not_installed)
                         }
                         isDisabled(record) -> {
-                            System.lineSeparator() + context.getString(R.string.disabled)
+                            System.lineSeparator() +
+                                context.getString(com.android.settingslib.R.string.disabled)
                         }
                         else -> ""
                     }
diff --git a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
index 3680715..5206343 100644
--- a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
+++ b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
@@ -22,7 +22,6 @@
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.appcompat.UserAspectRatioDetails
@@ -35,7 +34,6 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.flow.flowOn
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun UserAspectRatioAppPreference(app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
index ff90492..12f5b09 100644
--- a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
+++ b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
@@ -32,7 +32,6 @@
 import androidx.compose.runtime.remember
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.appcompat.UserAspectRatioManager
@@ -177,7 +176,6 @@
         }
     )
 
-    @OptIn(ExperimentalLifecycleComposeApi::class)
     @Composable
     override fun getSummary(option: Int, record: UserAspectRatioAppListItemModel) : State<String> =
         remember(record.override) {
diff --git a/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt b/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt
index 29c7483..34272d4 100644
--- a/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt
@@ -28,7 +28,6 @@
 import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settingslib.spa.widget.preference.Preference
@@ -46,7 +45,6 @@
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.plus
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppAllServicesPreference(app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/appinfo/AppButtons.kt b/src/com/android/settings/spa/app/appinfo/AppButtons.kt
index e43c673..2e9d945 100644
--- a/src/com/android/settings/spa/app/appinfo/AppButtons.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppButtons.kt
@@ -19,7 +19,6 @@
 import android.content.pm.ApplicationInfo
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.applications.AppUtils
 import com.android.settingslib.spa.widget.button.ActionButton
@@ -43,7 +42,6 @@
     private val appClearButton = AppClearButton(packageInfoPresenter)
     private val appForceStopButton = AppForceStopButton(packageInfoPresenter)
 
-    @OptIn(ExperimentalLifecycleComposeApi::class)
     @Composable
     fun getActionButtons() =
         packageInfoPresenter.flow.collectAsStateWithLifecycle(initialValue = null).value?.let {
diff --git a/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt b/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt
index 8b90280..5210dc7 100644
--- a/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt
@@ -27,7 +27,6 @@
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.Utils
@@ -44,7 +43,6 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.withContext
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppDataUsagePreference(app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
index e6df933..c38d6cf 100644
--- a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
@@ -27,7 +27,6 @@
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
 import androidx.fragment.app.Fragment
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import androidx.navigation.NavType
 import androidx.navigation.navArgument
@@ -115,7 +114,6 @@
     }
 }
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 private fun AppInfoSettings(packageInfoPresenter: PackageInfoPresenter) {
     LifecycleEffect(onStart = { packageInfoPresenter.reloadPackageInfo() })
diff --git a/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt b/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt
index b89d768..5a348f7 100644
--- a/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt
@@ -27,14 +27,11 @@
 import com.android.settings.Utils
 import com.android.settings.applications.AppStoreUtil
 import com.android.settingslib.applications.AppUtils
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spaprivileged.framework.common.asUser
-import com.android.settingslib.spaprivileged.framework.common.userManager
 import com.android.settingslib.spaprivileged.model.app.userHandle
-import com.android.settingslib.spaprivileged.model.app.userId
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.Flow
@@ -45,7 +42,6 @@
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppInstallerInfoPreference(app: ApplicationInfo) {
     val context = LocalContext.current
@@ -71,7 +67,6 @@
 ) {
     private val userContext = context.asUser(app.userHandle)
     private val packageManager = userContext.packageManager
-    private val userManager = context.userManager
 
     private val installerPackageFlow = flow {
         emit(withContext(Dispatchers.IO) {
@@ -88,9 +83,8 @@
 
     val isAvailableFlow = installerLabelFlow.map { installerLabel ->
         withContext(Dispatchers.IO) {
-            !userManager.isManagedProfile(app.userId) &&
-                !AppUtils.isMainlineModule(packageManager, app.packageName) &&
-                installerLabel != null
+            !AppUtils.isMainlineModule(packageManager, app.packageName) &&
+                    installerLabel != null
         }
     }
 
diff --git a/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt b/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt
index e95c5a1..2d6fbb6 100644
--- a/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt
@@ -31,7 +31,6 @@
 import com.android.settings.applications.AppLocaleUtil
 import com.android.settings.applications.appinfo.AppLocaleDetails
 import com.android.settings.localepicker.AppLocalePickerActivity
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
@@ -41,7 +40,6 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.withContext
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppLocalePreference(app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/appinfo/AppNotificationPreference.kt b/src/com/android/settings/spa/app/appinfo/AppNotificationPreference.kt
index 490a98c..45033e7 100644
--- a/src/com/android/settings/spa/app/appinfo/AppNotificationPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppNotificationPreference.kt
@@ -22,7 +22,6 @@
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
@@ -38,7 +37,6 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.flow.flowOn
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppNotificationPreference(
     app: ApplicationInfo,
diff --git a/src/com/android/settings/spa/app/appinfo/AppOpenByDefaultPreference.kt b/src/com/android/settings/spa/app/appinfo/AppOpenByDefaultPreference.kt
index 2c98e08..757ddc2 100644
--- a/src/com/android/settings/spa/app/appinfo/AppOpenByDefaultPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppOpenByDefaultPreference.kt
@@ -22,7 +22,6 @@
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
@@ -41,7 +40,6 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.flow.flowOn
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppOpenByDefaultPreference(app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt b/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt
index 51bb8a9..c2bee59 100644
--- a/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt
@@ -27,7 +27,6 @@
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import com.android.settingslib.spa.widget.preference.Preference
@@ -44,7 +43,6 @@
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.plus
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppSettingsPreference(app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/appinfo/CloneAppInfoSettings.kt b/src/com/android/settings/spa/app/appinfo/CloneAppInfoSettings.kt
index 982c974..760d375 100644
--- a/src/com/android/settings/spa/app/appinfo/CloneAppInfoSettings.kt
+++ b/src/com/android/settings/spa/app/appinfo/CloneAppInfoSettings.kt
@@ -23,7 +23,6 @@
 import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import androidx.navigation.NavType
 import androidx.navigation.navArgument
@@ -69,7 +68,6 @@
     fun getRoute(packageName: String, userId: Int): String = "$name/$packageName/$userId"
 }
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 private fun CloneAppInfoSettings(packageInfoPresenter: PackageInfoPresenter) {
     LifecycleEffect(onStart = { packageInfoPresenter.reloadPackageInfo() })
diff --git a/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt b/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt
index 0fb4373..0603f2a 100644
--- a/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt
+++ b/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt
@@ -22,7 +22,6 @@
 import androidx.compose.material.icons.outlined.WarningAmber
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settingslib.spa.widget.button.ActionButton
@@ -39,7 +38,6 @@
     private val appCreateButton = AppCreateButton(packageInfoPresenter)
     private val appForceStopButton = FakeAppForceStopButton(packageInfoPresenter)
 
-    @OptIn(ExperimentalLifecycleComposeApi::class)
     @Composable
     fun getActionButtons() =
         packageInfoPresenter.flow.collectAsStateWithLifecycle(initialValue = null).value?.let {
diff --git a/src/com/android/settings/spa/app/appinfo/DefaultAppShortcutPreference.kt b/src/com/android/settings/spa/app/appinfo/DefaultAppShortcutPreference.kt
index fa7e089..74c0aa4 100644
--- a/src/com/android/settings/spa/app/appinfo/DefaultAppShortcutPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/DefaultAppShortcutPreference.kt
@@ -26,7 +26,6 @@
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import androidx.lifecycle.liveData
 import com.android.settings.R
@@ -49,7 +48,6 @@
     @StringRes val titleResId: Int,
 )
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun DefaultAppShortcutPreference(shortcut: DefaultAppShortcut, app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt b/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
index d981067..f62a3be 100644
--- a/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
@@ -35,7 +35,6 @@
 import com.android.settings.Utils.PROPERTY_APP_HIBERNATION_ENABLED
 import com.android.settings.Utils.PROPERTY_HIBERNATION_TARGETS_PRE_S_APPS
 import com.android.settingslib.spa.framework.compose.OverridableFlow
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.widget.preference.SwitchPreference
@@ -52,7 +51,6 @@
 import kotlin.coroutines.resume
 import kotlin.coroutines.suspendCoroutine
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun HibernationSwitchPreference(app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt b/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt
index 0e93b56..7b9480d 100644
--- a/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt
@@ -34,7 +34,6 @@
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
 import com.android.settings.Utils
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.spa.framework.theme.SettingsDimension
 import com.android.settingslib.spa.widget.preference.Preference
@@ -46,7 +45,6 @@
 import kotlinx.coroutines.flow.flowOn
 import kotlinx.coroutines.flow.map
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun InstantAppDomainsPreference(app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt b/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt
index 2430e73..12f6907 100644
--- a/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt
@@ -25,7 +25,6 @@
 import com.android.settings.R
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
 import com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetails
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
@@ -34,7 +33,6 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.flow.flowOn
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun InteractAcrossProfilesDetailsPreference(app: ApplicationInfo) {
     val context = LocalContext.current
diff --git a/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt b/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt
index d8d51eb..c31eb7a 100644
--- a/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt
+++ b/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt
@@ -25,8 +25,8 @@
 import android.os.PowerExemptionManager
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.livedata.observeAsState
-import com.android.settings.R
 import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settingslib.R
 import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spaprivileged.model.app.AppRecord
 import com.android.settingslib.spaprivileged.model.app.IPackageManagers
diff --git a/src/com/android/settings/spa/app/specialaccess/InstallUnknownApps.kt b/src/com/android/settings/spa/app/specialaccess/InstallUnknownApps.kt
index 43add1f..c98b2ee 100644
--- a/src/com/android/settings/spa/app/specialaccess/InstallUnknownApps.kt
+++ b/src/com/android/settings/spa/app/specialaccess/InstallUnknownApps.kt
@@ -47,7 +47,7 @@
 
 class InstallUnknownAppsListModel(private val context: Context) :
     TogglePermissionAppListModel<InstallUnknownAppsRecord> {
-    override val pageTitleResId = R.string.install_other_apps
+    override val pageTitleResId = com.android.settingslib.R.string.install_other_apps
     override val switchTitleResId = R.string.external_source_switch_title
     override val footerResId = R.string.install_all_warning
     override val switchRestrictionKeys =
diff --git a/src/com/android/settings/spa/system/AppLanguagesListModel.kt b/src/com/android/settings/spa/system/AppLanguagesListModel.kt
index 942bcc4..3413ff0 100644
--- a/src/com/android/settings/spa/system/AppLanguagesListModel.kt
+++ b/src/com/android/settings/spa/system/AppLanguagesListModel.kt
@@ -26,7 +26,6 @@
 import androidx.compose.runtime.State
 import androidx.compose.runtime.remember
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.AppLocaleUtil
@@ -79,7 +78,6 @@
         recordListFlow: Flow<List<AppLanguagesRecord>>,
     ) = recordListFlow.filterItem { it.isAppLocaleSupported }
 
-    @OptIn(ExperimentalLifecycleComposeApi::class)
     @Composable
     override fun getSummary(option: Int, record: AppLanguagesRecord): State<String> =
         remember(record.app) {
diff --git a/src/com/android/settings/survey/SurveyMixin.java b/src/com/android/settings/survey/SurveyMixin.java
index 2f68de6..0768e80 100644
--- a/src/com/android/settings/survey/SurveyMixin.java
+++ b/src/com/android/settings/survey/SurveyMixin.java
@@ -54,7 +54,7 @@
         // guard against the activity not existing yet
         if (activity != null) {
             SurveyFeatureProvider provider =
-                    FeatureFactory.getFactory(activity).getSurveyFeatureProvider(activity);
+                    FeatureFactory.getFeatureFactory().getSurveyFeatureProvider(activity);
             if (provider != null) {
                 provider.sendActivityIfAvailable(mName);
             }
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java
index 9f1d2f3..8ff0159 100644
--- a/src/com/android/settings/tts/TextToSpeechSettings.java
+++ b/src/com/android/settings/tts/TextToSpeechSettings.java
@@ -548,7 +548,7 @@
         CharSequence[] entries = new CharSequence[availableLangs.size() + 1];
         CharSequence[] entryValues = new CharSequence[availableLangs.size() + 1];
 
-        entries[0] = getActivity().getString(R.string.tts_lang_use_system);
+        entries[0] = getActivity().getString(com.android.settingslib.R.string.tts_lang_use_system);
         entryValues[0] = "";
 
         int i = 1;
@@ -570,7 +570,7 @@
     private void setLocalePreference(int index) {
         if (index < 0) {
             mLocalePreference.setValue("");
-            mLocalePreference.setSummary(R.string.tts_lang_not_selected);
+            mLocalePreference.setSummary(com.android.settingslib.R.string.tts_lang_not_selected);
         } else {
             mLocalePreference.setValueIndex(index);
             mLocalePreference.setSummary(mLocalePreference.getEntries()[index]);
@@ -583,9 +583,9 @@
             try {
                 final String currentLang = mTts.getLanguage().getISO3Language();
                 String[] strings = getActivity().getResources().getStringArray(
-                        R.array.tts_demo_strings);
+                        com.android.settingslib.R.array.tts_demo_strings);
                 String[] langs = getActivity().getResources().getStringArray(
-                        R.array.tts_demo_string_langs);
+                        com.android.settingslib.R.array.tts_demo_string_langs);
 
                 for (int i = 0; i < strings.length; ++i) {
                     if (langs[i].equals(currentLang)) {
@@ -597,7 +597,7 @@
                 // Ignore and fall back to default sample string
             }
         }
-        return getString(R.string.tts_default_sample_string);
+        return getString(com.android.settingslib.R.string.tts_default_sample_string);
     }
 
     private boolean isNetworkRequiredForSynthesis() {
@@ -746,7 +746,8 @@
     private void displayNetworkAlert() {
         AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
         builder.setTitle(android.R.string.dialog_alert_title)
-                .setMessage(getActivity().getString(R.string.tts_engine_network_required))
+                .setMessage(getActivity()
+                        .getString(com.android.settingslib.R.string.tts_engine_network_required))
                 .setCancelable(false)
                 .setPositiveButton(android.R.string.ok, null);
 
@@ -805,7 +806,7 @@
             } else {
                 Log.e(TAG, "settingsIntent is null");
             }
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logClickedPreference(p, getMetricsCategory());
         }
     }
diff --git a/src/com/android/settings/tts/TtsEnginePreferenceFragment.java b/src/com/android/settings/tts/TtsEnginePreferenceFragment.java
index 6a1b9bb..33648fe 100644
--- a/src/com/android/settings/tts/TtsEnginePreferenceFragment.java
+++ b/src/com/android/settings/tts/TtsEnginePreferenceFragment.java
@@ -152,7 +152,8 @@
         final AlertDialog dialog = new AlertDialog.Builder(getPrefContext())
                 .setTitle(android.R.string.dialog_alert_title)
                 .setMessage(mContext.getString(
-                        R.string.tts_engine_security_warning, info.loadLabel()))
+                        com.android.settingslib.R.string.tts_engine_security_warning,
+                        info.loadLabel()))
                 .setCancelable(true)
                 .setPositiveButton(android.R.string.ok, positiveOnClickListener)
                 .setNegativeButton(android.R.string.cancel, null)
diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java
index 402d4b1..16b39a7 100644
--- a/src/com/android/settings/users/UserDetailsSettings.java
+++ b/src/com/android/settings/users/UserDetailsSettings.java
@@ -376,7 +376,9 @@
             if (!Utils.isVoiceCapable(context)) { // no telephony
                 removePreference(KEY_ENABLE_TELEPHONY);
             }
-
+            if (mUserInfo.isMain()) {
+                removePreference(KEY_ENABLE_TELEPHONY);
+            }
             if (mUserInfo.isRestricted()) {
                 removePreference(KEY_ENABLE_TELEPHONY);
                 if (isNewUser) {
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index b0816fd..64699ff 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -1004,9 +1004,9 @@
             mAddingUser = true;
             mAddingUserName = userType == USER_TYPE_USER
                     ? (mPendingUserName != null ? mPendingUserName.toString()
-                    : getString(R.string.user_new_user_name))
+                    : getString(com.android.settingslib.R.string.user_new_user_name))
                     : (mPendingUserName != null ? mPendingUserName.toString()
-                            : getString(R.string.user_new_profile_name));
+                            : getString(com.android.settingslib.R.string.user_new_profile_name));
         }
 
         mUserCreatingDialog = new UserCreatingDialog(getActivity());
@@ -1357,13 +1357,14 @@
         String guestExitSummary;
         if (mUserCaps.mIsEphemeral) {
             guestExitSummary = getContext().getString(
-                    R.string.guest_notification_ephemeral);
+                    com.android.settingslib.R.string.guest_notification_ephemeral);
         } else if (isGuestFirstLogin) {
             guestExitSummary = getContext().getString(
-                    R.string.guest_notification_non_ephemeral);
+                    com.android.settingslib.R.string.guest_notification_non_ephemeral);
         } else {
             guestExitSummary = getContext().getString(
-                    R.string.guest_notification_non_ephemeral_non_first_login);
+                    com.android.settingslib.R
+                            .string.guest_notification_non_ephemeral_non_first_login);
         }
         mGuestExitPreference.setSummary(guestExitSummary);
     }
@@ -1394,7 +1395,8 @@
             pref.setOnPreferenceClickListener(this);
             pref.setEnabled(canOpenUserDetails);
             pref.setSelectable(true);
-            Drawable icon = getContext().getDrawable(R.drawable.ic_account_circle_outline);
+            Drawable icon = getContext().getDrawable(
+                    com.android.settingslib.R.drawable.ic_account_circle_outline);
             icon.setTint(
                     getColorAttrDefaultColor(getContext(), android.R.attr.colorControlNormal));
             pref.setIcon(encircleUserIcon(
@@ -1439,14 +1441,15 @@
                 && mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_GUEST)
                 && WizardManagerHelper.isDeviceProvisioned(context)
                 && mUserCaps.mUserSwitcherEnabled) {
-            Drawable icon = context.getDrawable(R.drawable.ic_account_circle);
+            Drawable icon = context.getDrawable(
+                    com.android.settingslib.R.drawable.ic_account_circle);
             mAddGuest.setIcon(centerAndTint(icon));
             isVisible = true;
             mAddGuest.setVisible(true);
             mAddGuest.setSelectable(true);
             if (mGuestUserAutoCreated && mGuestCreationScheduled.get()) {
                 mAddGuest.setTitle(com.android.internal.R.string.guest_name);
-                mAddGuest.setSummary(R.string.guest_resetting);
+                mAddGuest.setSummary(com.android.settingslib.R.string.guest_resetting);
                 mAddGuest.setEnabled(false);
             } else {
                 mAddGuest.setTitle(com.android.settingslib.R.string.guest_new_guest);
@@ -1460,14 +1463,16 @@
 
     private void updateAddUser(Context context) {
         updateAddUserCommon(context, mAddUser, mUserCaps.mCanAddRestrictedProfile);
-        Drawable icon = context.getDrawable(R.drawable.ic_account_circle_filled);
+        Drawable icon = context.getDrawable(
+                com.android.settingslib.R.drawable.ic_account_circle_filled);
         mAddUser.setIcon(centerAndTint(icon));
     }
 
     private void updateAddSupervisedUser(Context context) {
         if (!TextUtils.isEmpty(mConfigSupervisedUserCreationPackage)) {
             updateAddUserCommon(context, mAddSupervisedUser, false);
-            Drawable icon = context.getDrawable(R.drawable.ic_add_supervised_user);
+            Drawable icon = context.getDrawable(
+                    com.android.settingslib.R.drawable.ic_add_supervised_user);
             mAddSupervisedUser.setIcon(centerAndTint(icon));
         } else {
             mAddSupervisedUser.setVisible(false);
@@ -1505,7 +1510,8 @@
         icon.setTintBlendMode(BlendMode.SRC_IN);
         icon.setTint(getColorAttrDefaultColor(getContext(), android.R.attr.textColorPrimary));
 
-        Drawable bg = getContext().getDrawable(R.drawable.user_avatar_bg).mutate();
+        Drawable bg = getContext().getDrawable(com.android.settingslib.R.drawable.user_avatar_bg)
+                .mutate();
         LayerDrawable ld = new LayerDrawable(new Drawable[] {bg, icon});
         int size = getContext().getResources().getDimensionPixelSize(
                 R.dimen.multiple_users_avatar_size);
diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java
index 7d17541..1d5b3cc 100644
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
@@ -123,7 +123,7 @@
         mPackageManager = getContext().getPackageManager();
         mDevicePolicyManager = getContext().getSystemService(DevicePolicyManager.class);
         mVpnManager = getContext().getSystemService(VpnManager.class);
-        mFeatureProvider = FeatureFactory.getFactory(getContext()).getAdvancedVpnFeatureProvider();
+        mFeatureProvider = FeatureFactory.getFeatureFactory().getAdvancedVpnFeatureProvider();
 
         mPreferenceVersion = findPreference(KEY_VERSION);
         mPreferenceAlwaysOn = (RestrictedSwitchPreference) findPreference(KEY_ALWAYS_ON_VPN);
diff --git a/src/com/android/settings/vpn2/VpnInfoPreference.java b/src/com/android/settings/vpn2/VpnInfoPreference.java
index cca45b5..2a1b495 100644
--- a/src/com/android/settings/vpn2/VpnInfoPreference.java
+++ b/src/com/android/settings/vpn2/VpnInfoPreference.java
@@ -70,7 +70,8 @@
         }
 
         // Hide the divider from view
-        final View divider = holder.findViewById(R.id.two_target_divider);
+        final View divider =
+                holder.findViewById(com.android.settingslib.widget.R.id.two_target_divider);
         divider.setVisibility(View.GONE);
     }
 
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index e9b6a4e..0ee21b9 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -61,7 +61,7 @@
 import com.android.internal.net.VpnConfig;
 import com.android.internal.net.VpnProfile;
 import com.android.settings.R;
-import com.android.settings.RestrictedSettingsFragment;
+import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.GearPreference;
 import com.android.settings.widget.GearPreference.OnGearClickListener;
@@ -80,7 +80,7 @@
  * Settings screen listing VPNs. Configured VPNs and networks managed by apps
  * are shown in the same list.
  */
-public class VpnSettings extends RestrictedSettingsFragment implements
+public class VpnSettings extends RestrictedDashboardFragment implements
         Handler.Callback, Preference.OnPreferenceClickListener {
     private static final String LOG_TAG = "VpnSettings";
     private static final boolean DEBUG = Log.isLoggable(LOG_TAG, Log.DEBUG);
@@ -129,13 +129,12 @@
         mUserManager = (UserManager) getSystemService(Context.USER_SERVICE);
         mConnectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
         mVpnManager = (VpnManager) getSystemService(Context.VPN_MANAGEMENT_SERVICE);
-        mFeatureProvider = FeatureFactory.getFactory(getContext()).getAdvancedVpnFeatureProvider();
+        mFeatureProvider = FeatureFactory.getFeatureFactory().getAdvancedVpnFeatureProvider();
         mIsAdvancedVpnSupported = mFeatureProvider.isAdvancedVpnSupported(getContext());
 
         mUnavailable = isUiRestricted();
         setHasOptionsMenu(!mUnavailable);
 
-        addPreferencesFromResource(R.xml.vpn_settings2);
         mPreferenceScreen = getPreferenceScreen();
     }
 
@@ -197,7 +196,8 @@
         if (mUnavailable) {
             // Show a message to explain that VPN settings have been disabled
             if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.vpn_settings_not_available);
+                getEmptyTextView()
+                        .setText(com.android.settingslib.R.string.vpn_settings_not_available);
             }
             getPreferenceScreen().removeAll();
             return;
@@ -217,6 +217,16 @@
     }
 
     @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.vpn_settings2;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return LOG_TAG;
+    }
+
+    @Override
     public void onPause() {
         if (mUnavailable) {
             super.onPause();
diff --git a/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java b/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java
index fd13586..ff4ae41 100644
--- a/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java
+++ b/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java
@@ -27,8 +27,6 @@
 import android.webkit.WebViewProviderInfo;
 import android.widget.Toast;
 
-import com.android.settings.R;
-
 import java.util.ArrayList;
 import java.util.List;
 
@@ -101,7 +99,8 @@
         // The user chose a package that became invalid since the list was last updated,
         // show a Toast to explain the situation.
         Toast toast = Toast.makeText(context,
-                R.string.select_webview_provider_toast_text, Toast.LENGTH_SHORT);
+                com.android.settingslib.R.string.select_webview_provider_toast_text,
+                Toast.LENGTH_SHORT);
         toast.show();
     }
 
diff --git a/src/com/android/settings/widget/AppCheckBoxPreference.java b/src/com/android/settings/widget/AppCheckBoxPreference.java
index 3ce67eb..7cf31b8 100644
--- a/src/com/android/settings/widget/AppCheckBoxPreference.java
+++ b/src/com/android/settings/widget/AppCheckBoxPreference.java
@@ -25,27 +25,26 @@
 import androidx.preference.CheckBoxPreference;
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.settings.R;
-
 /**
  * {@link CheckBoxPreference} that used only to display app
  */
 public class AppCheckBoxPreference extends CheckBoxPreference {
     public AppCheckBoxPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        setLayoutResource(R.layout.preference_app);
+        setLayoutResource(com.android.settingslib.widget.R.layout.preference_app);
     }
 
     public AppCheckBoxPreference(Context context) {
         super(context);
-        setLayoutResource(R.layout.preference_app);
+        setLayoutResource(com.android.settingslib.widget.R.layout.preference_app);
     }
 
     @Override
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
 
-        final LinearLayout layout = (LinearLayout) holder.findViewById(R.id.summary_container);
+        final LinearLayout layout = (LinearLayout) holder
+                .findViewById(com.android.settingslib.widget.R.id.summary_container);
         if (layout != null) {
             // If summary doesn't exist, make it gone
             layout.setVisibility(TextUtils.isEmpty(getSummary()) ? View.GONE : View.VISIBLE);
diff --git a/src/com/android/settings/widget/BottomLabelLayout.java b/src/com/android/settings/widget/BottomLabelLayout.java
index 6323c4d..a267de0 100644
--- a/src/com/android/settings/widget/BottomLabelLayout.java
+++ b/src/com/android/settings/widget/BottomLabelLayout.java
@@ -25,8 +25,6 @@
 
 import androidx.annotation.VisibleForTesting;
 
-import com.android.settingslib.R;
-
 /**
  * An extension of LinearLayout that automatically switches to vertical
  * orientation when it can't fit its child views horizontally.
@@ -85,7 +83,7 @@
         setOrientation(stacked ? LinearLayout.VERTICAL : LinearLayout.HORIZONTAL);
         setGravity(stacked ? Gravity.START : Gravity.BOTTOM);
 
-        final View spacer = findViewById(R.id.spacer);
+        final View spacer = findViewById(com.android.settings.R.id.spacer);
         if (spacer != null) {
             spacer.setVisibility(stacked ? View.GONE : View.VISIBLE);
         }
diff --git a/src/com/android/settings/widget/EntityHeaderController.java b/src/com/android/settings/widget/EntityHeaderController.java
index 8a2403c..bcd3f4b 100644
--- a/src/com/android/settings/widget/EntityHeaderController.java
+++ b/src/com/android/settings/widget/EntityHeaderController.java
@@ -110,13 +110,14 @@
         mActivity = activity;
         mAppContext = activity.getApplicationContext();
         mFragment = fragment;
-        mMetricsCategory = FeatureFactory.getFactory(mAppContext).getMetricsFeatureProvider()
+        mMetricsCategory = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .getMetricsCategory(fragment);
         if (header != null) {
             mHeader = header;
         } else {
             mHeader = LayoutInflater.from(fragment.getContext())
-                    .inflate(R.layout.settings_entity_header, null /* root */);
+                    .inflate(com.android.settingslib.widget.R.layout.settings_entity_header,
+                            null /* root */);
         }
     }
 
@@ -254,9 +255,9 @@
         }
         setText(R.id.entity_header_title, mLabel);
         setText(R.id.entity_header_summary, mSummary);
-        setText(R.id.entity_header_second_summary, mSecondSummary);
+        setText(com.android.settingslib.widget.R.id.entity_header_second_summary, mSecondSummary);
         if (mIsInstantApp) {
-            setText(R.id.install_type,
+            setText(com.android.settingslib.widget.R.id.install_type,
                     mHeader.getResources().getString(R.string.install_type_instant));
         }
 
@@ -271,7 +272,8 @@
      * Only binds entity header with button actions.
      */
     public EntityHeaderController bindHeaderButtons() {
-        final View entityHeaderContent = mHeader.findViewById(R.id.entity_header_content);
+        final View entityHeaderContent = mHeader.findViewById(
+                com.android.settingslib.widget.R.id.entity_header_content);
         final ImageButton button1 = mHeader.findViewById(android.R.id.button1);
         final ImageButton button2 = mHeader.findViewById(android.R.id.button2);
         bindAppInfoLink(entityHeaderContent);
@@ -325,7 +327,7 @@
                     button.setVisibility(View.GONE);
                 } else {
                     button.setOnClickListener(v -> {
-                        FeatureFactory.getFactory(mAppContext).getMetricsFeatureProvider()
+                        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                                 .action(SettingsEnums.PAGE_UNKNOWN,
                                         SettingsEnums.ACTION_OPEN_APP_NOTIFICATION_SETTING,
                                         mMetricsCategory,
diff --git a/src/com/android/settings/widget/GenericSwitchController.java b/src/com/android/settings/widget/GenericSwitchController.java
index 819907a..c20f932 100644
--- a/src/com/android/settings/widget/GenericSwitchController.java
+++ b/src/com/android/settings/widget/GenericSwitchController.java
@@ -45,8 +45,7 @@
 
     private void setPreference(Preference preference) {
         mPreference = preference;
-        mMetricsFeatureProvider =
-                FeatureFactory.getFactory(preference.getContext()).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/widget/SettingsMainSwitchBar.java b/src/com/android/settings/widget/SettingsMainSwitchBar.java
index 8b8a9ba..ac2c136 100644
--- a/src/com/android/settings/widget/SettingsMainSwitchBar.java
+++ b/src/com/android/settings/widget/SettingsMainSwitchBar.java
@@ -68,7 +68,7 @@
     public SettingsMainSwitchBar(Context context, AttributeSet attrs, int defStyleAttr,
             int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         addOnSwitchChangeListener((switchView, isChecked) -> logMetrics(isChecked));
     }
diff --git a/src/com/android/settings/widget/SettingsMainSwitchPreference.java b/src/com/android/settings/widget/SettingsMainSwitchPreference.java
index 9fd8d06..ba17c85 100644
--- a/src/com/android/settings/widget/SettingsMainSwitchPreference.java
+++ b/src/com/android/settings/widget/SettingsMainSwitchPreference.java
@@ -19,12 +19,9 @@
 import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
 import android.content.Context;
-import android.content.res.TypedArray;
-import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.widget.Switch;
 
-import androidx.core.content.res.TypedArrayUtils;
 import androidx.preference.PreferenceViewHolder;
 import androidx.preference.TwoStatePreference;
 
@@ -40,7 +37,7 @@
 /**
  * SettingsMainSwitchPreference is a Preference with a customized Switch.
  * This component is used as the main switch of the page
- * to enable or disable the prefereces on the page.
+ * to enable or disable the preferences on the page.
  */
 public class SettingsMainSwitchPreference extends TwoStatePreference implements
         OnMainSwitchChangeListener {
@@ -50,7 +47,6 @@
     private final List<OnMainSwitchChangeListener> mSwitchChangeListeners = new ArrayList<>();
 
     private SettingsMainSwitchBar mMainSwitchBar;
-    private CharSequence mTitle;
     private EnforcedAdmin mEnforcedAdmin;
     private RestrictedPreferenceHelper mRestrictedHelper;
 
@@ -103,17 +99,6 @@
         mSwitchChangeListeners.add(this);
 
         if (attrs != null) {
-            final TypedArray a = context.obtainStyledAttributes(attrs,
-                    androidx.preference.R.styleable.Preference, 0/*defStyleAttr*/,
-                    0/*defStyleRes*/);
-            final CharSequence title = TypedArrayUtils.getText(a,
-                    androidx.preference.R.styleable.Preference_title,
-                    androidx.preference.R.styleable.Preference_android_title);
-            if (!TextUtils.isEmpty(title)) {
-                setTitle(title.toString());
-            }
-            a.recycle();
-
             mRestrictedHelper = new RestrictedPreferenceHelper(context, this, attrs);
         }
     }
@@ -135,9 +120,9 @@
 
     @Override
     public void setTitle(CharSequence title) {
-        mTitle = title;
+        super.setTitle(title);
         if (mMainSwitchBar != null) {
-            mMainSwitchBar.setTitle(mTitle);
+            mMainSwitchBar.setTitle(title);
         }
     }
 
@@ -245,7 +230,7 @@
 
     private void initMainSwitchBar() {
         if (mMainSwitchBar != null) {
-            mMainSwitchBar.setTitle(mTitle);
+            mMainSwitchBar.setTitle(getTitle());
             mMainSwitchBar.setDisabledByAdmin(mEnforcedAdmin);
         }
     }
diff --git a/src/com/android/settings/widget/SingleTargetGearPreference.java b/src/com/android/settings/widget/SingleTargetGearPreference.java
index f6496ed..2cc5508 100644
--- a/src/com/android/settings/widget/SingleTargetGearPreference.java
+++ b/src/com/android/settings/widget/SingleTargetGearPreference.java
@@ -58,7 +58,8 @@
     @Override
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
-        final View divider = holder.findViewById(com.android.settingslib.R.id.two_target_divider);
+        final View divider = holder.findViewById(
+                com.android.settingslib.widget.R.id.two_target_divider);
         if (divider != null) {
             divider.setVisibility(View.INVISIBLE);
         }
diff --git a/src/com/android/settings/widget/SwitchBar.java b/src/com/android/settings/widget/SwitchBar.java
index ad0294c..6e5e834 100644
--- a/src/com/android/settings/widget/SwitchBar.java
+++ b/src/com/android/settings/widget/SwitchBar.java
@@ -161,7 +161,7 @@
         // Default is hide
         setVisibility(View.GONE);
 
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     // Override the performClick method to eliminate redundant click.
diff --git a/src/com/android/settings/widget/UsageGraph.java b/src/com/android/settings/widget/UsageGraph.java
index 11ebd21..78dcd7a 100644
--- a/src/com/android/settings/widget/UsageGraph.java
+++ b/src/com/android/settings/widget/UsageGraph.java
@@ -84,17 +84,21 @@
         mLinePaint.setStrokeCap(Cap.ROUND);
         mLinePaint.setStrokeJoin(Join.ROUND);
         mLinePaint.setAntiAlias(true);
-        mCornerRadius = resources.getDimensionPixelSize(R.dimen.usage_graph_line_corner_radius);
+        mCornerRadius = resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_line_corner_radius);
         mLinePaint.setPathEffect(new CornerPathEffect(mCornerRadius));
-        mLinePaint.setStrokeWidth(resources.getDimensionPixelSize(R.dimen.usage_graph_line_width));
+        mLinePaint.setStrokeWidth(resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_line_width));
 
         mFillPaint = new Paint(mLinePaint);
         mFillPaint.setStyle(Style.FILL);
 
         mDottedPaint = new Paint(mLinePaint);
         mDottedPaint.setStyle(Style.STROKE);
-        float dots = resources.getDimensionPixelSize(R.dimen.usage_graph_dot_size);
-        float interval = resources.getDimensionPixelSize(R.dimen.usage_graph_dot_interval);
+        float dots = resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_dot_size);
+        float interval = resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_dot_interval);
         mDottedPaint.setStrokeWidth(dots * 3);
         mDottedPaint.setPathEffect(new DashPathEffect(new float[] {dots, interval}, 0));
         mDottedPaint.setColor(context.getColor(R.color.usage_graph_dots));
@@ -103,7 +107,8 @@
         context.getTheme().resolveAttribute(com.android.internal.R.attr.listDivider, v, true);
         mDivider = context.getDrawable(v.resourceId);
         mTintedDivider = context.getDrawable(v.resourceId);
-        mDividerSize = resources.getDimensionPixelSize(R.dimen.usage_graph_divider_size);
+        mDividerSize = resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_divider_size);
     }
 
     void clearPaths() {
diff --git a/src/com/android/settings/wifi/ChangeWifiStateDetails.java b/src/com/android/settings/wifi/ChangeWifiStateDetails.java
index 9841615..96cbce3 100644
--- a/src/com/android/settings/wifi/ChangeWifiStateDetails.java
+++ b/src/com/android/settings/wifi/ChangeWifiStateDetails.java
@@ -95,7 +95,7 @@
     protected void logSpecialPermissionChange(boolean newState, String packageName) {
         int logCategory = newState ? SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_DENY;
-        FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider().action(getContext(),
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(getContext(),
                 logCategory, packageName);
     }
 
diff --git a/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
index 29451bf..652d318 100644
--- a/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
+++ b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
@@ -232,7 +232,7 @@
             }
         };
 
-        mNetworkDetailsTracker = FeatureFactory.getFactory(context)
+        mNetworkDetailsTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createNetworkDetailsTracker(
                         getSettingsLifecycle(),
diff --git a/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java b/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
index 54a4d04..1dea591 100644
--- a/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
+++ b/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
@@ -56,7 +56,7 @@
         holder.findViewById(R.id.settings_button_no_background).setVisibility(
                 canSignIn ? View.INVISIBLE : View.VISIBLE);
         gear.setVisibility(canSignIn ? View.VISIBLE : View.INVISIBLE);
-        holder.findViewById(R.id.two_target_divider).setVisibility(
+        holder.findViewById(com.android.settingslib.widget.R.id.two_target_divider).setVisibility(
                 canSignIn ? View.VISIBLE : View.INVISIBLE);
     }
 
diff --git a/src/com/android/settings/wifi/LinkablePreference.java b/src/com/android/settings/wifi/LinkablePreference.java
index d29482d..8f95917 100644
--- a/src/com/android/settings/wifi/LinkablePreference.java
+++ b/src/com/android/settings/wifi/LinkablePreference.java
@@ -49,7 +49,8 @@
 
     public LinkablePreference(Context ctx, AttributeSet attrs) {
         this(ctx, attrs, TypedArrayUtils.getAttr(
-                ctx, R.attr.footerPreferenceStyle, android.R.attr.preferenceStyle));
+                ctx, com.android.settingslib.widget.R.attr.footerPreferenceStyle,
+                android.R.attr.preferenceStyle));
     }
 
     public LinkablePreference(Context ctx) {
diff --git a/src/com/android/settings/wifi/LongPressWifiEntryPreference.java b/src/com/android/settings/wifi/LongPressWifiEntryPreference.java
index 6343e06..ec94e74 100644
--- a/src/com/android/settings/wifi/LongPressWifiEntryPreference.java
+++ b/src/com/android/settings/wifi/LongPressWifiEntryPreference.java
@@ -22,6 +22,7 @@
 import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceViewHolder;
 
+import com.android.settingslib.RestrictedLockUtils;
 import com.android.wifitrackerlib.WifiEntry;
 
 /**
@@ -34,7 +35,7 @@
     public LongPressWifiEntryPreference(Context context, WifiEntry wifiEntry, Fragment fragment) {
         super(context, wifiEntry);
         mFragment = fragment;
-        checkRestrictionAndSetDisabled(UserManager.DISALLOW_ADD_WIFI_CONFIG);
+        checkRestrictionAndSetDisabled();
     }
 
     @Override
@@ -65,4 +66,22 @@
         }
         return enabled;
     }
+
+    @VisibleForTesting
+    void checkRestrictionAndSetDisabled() {
+        if (!getWifiEntry().hasAdminRestrictions()) {
+            return;
+        }
+        RestrictedLockUtils.EnforcedAdmin admin = null;
+        Context context = getContext();
+        if (context != null) {
+            admin = RestrictedLockUtils.getProfileOrDeviceOwner(context, context.getUser());
+        }
+        if (admin == null) {
+            // Use UserManager.DISALLOW_ADD_WIFI_CONFIG as default Wi-Fi network restriction.
+            admin = RestrictedLockUtils.EnforcedAdmin.createDefaultEnforcedAdminWithRestriction(
+                    UserManager.DISALLOW_ADD_WIFI_CONFIG);
+        }
+        setDisabledByAdmin(admin);
+    }
 }
diff --git a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
index 5639047..cf4bbcb 100644
--- a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
+++ b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
@@ -18,8 +18,6 @@
 
 import static com.android.wifitrackerlib.Utils.getSecurityTypesFromScanResult;
 
-import static java.util.stream.Collectors.toList;
-
 import android.app.Dialog;
 import android.content.Context;
 import android.content.DialogInterface;
@@ -114,7 +112,7 @@
             }
         };
         final Context context = getContext();
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(getSettingsLifecycle(), context,
                         new Handler(Looper.getMainLooper()),
@@ -144,7 +142,7 @@
 
         // Prepares adapter.
         mDialogAdapter = new WifiEntryAdapter(context,
-                R.layout.preference_access_point, mFilteredWifiEntries);
+                com.android.settingslib.R.layout.preference_access_point, mFilteredWifiEntries);
 
         final AlertDialog.Builder builder = new AlertDialog.Builder(context)
                 .setCustomTitle(customTitle)
@@ -273,19 +271,31 @@
     @VisibleForTesting
     void updateWifiEntries() {
         final List<WifiEntry> wifiEntries = new ArrayList<>();
-        if (mWifiPickerTracker.getConnectedWifiEntry() != null) {
-            wifiEntries.add(mWifiPickerTracker.getConnectedWifiEntry());
+        WifiEntry connectedWifiEntry = mWifiPickerTracker.getConnectedWifiEntry();
+        String connectedSsid;
+        if (connectedWifiEntry != null) {
+            connectedSsid = connectedWifiEntry.getSsid();
+            wifiEntries.add(connectedWifiEntry);
+        } else {
+            connectedSsid = null;
         }
         wifiEntries.addAll(mWifiPickerTracker.getWifiEntries());
 
         mFilteredWifiEntries.clear();
         mFilteredWifiEntries.addAll(wifiEntries.stream()
-                .filter(entry -> isMatchedWifiEntry(entry))
+                .filter(entry -> isMatchedWifiEntry(entry, connectedSsid))
                 .limit(mShowLimitedItem ? MAX_NUMBER_LIST_ITEM : Long.MAX_VALUE)
-                .collect(toList()));
+                .toList());
     }
 
-    private boolean isMatchedWifiEntry(WifiEntry entry) {
+    private boolean isMatchedWifiEntry(WifiEntry entry, String connectedSsid) {
+        if (entry.getConnectedState() == WifiEntry.CONNECTED_STATE_DISCONNECTED
+                && TextUtils.equals(entry.getSsid(), connectedSsid)) {
+            // WifiPickerTracker may return a duplicate unsaved network that is separate from
+            // the connecting app-requested network, so make sure we only show the connected
+            // app-requested one.
+            return false;
+        }
         for (MatchWifi wifi : mMatchWifis) {
             if (!TextUtils.equals(entry.getSsid(), wifi.mSsid)) {
                 continue;
@@ -316,7 +326,7 @@
                 view = mInflater.inflate(mResourceId, parent, false);
 
                 final View divider = view.findViewById(
-                        com.android.settingslib.R.id.two_target_divider);
+                        com.android.settingslib.widget.R.id.two_target_divider);
                 divider.setVisibility(View.GONE);
             }
 
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 8f0a983..b2b7346 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -920,7 +920,7 @@
             } catch (NumberFormatException e) {
                 // Set the hint as default after user types in ip address
                 mNetworkPrefixLengthView.setText(mConfigUi.getContext().getString(
-                        R.string.wifi_network_prefix_length_hint));
+                        com.android.settingslib.R.string.wifi_network_prefix_length_hint));
             } catch (IllegalArgumentException e) {
                 return R.string.wifi_ip_settings_invalid_ip_address;
             }
@@ -953,7 +953,8 @@
 
             if (TextUtils.isEmpty(dns)) {
                 //If everything else is valid, provide hint as a default option
-                mDns1View.setText(mConfigUi.getContext().getString(R.string.wifi_dns1_hint));
+                mDns1View.setText(mConfigUi.getContext().getString(
+                        com.android.settingslib.R.string.wifi_dns1_hint));
             } else {
                 dnsAddr = getIPv4Address(dns);
                 if (dnsAddr == null) {
@@ -1705,29 +1706,36 @@
         int idx = 0;
 
         // Populate the Wi-Fi security spinner with the various supported key management types
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_none));
+        spinnerAdapter.add(mContext.getString(com.android.settingslib.R.string.wifi_security_none));
         mSecurityInPosition[idx++] = AccessPoint.SECURITY_NONE;
         if (mWifiManager.isEnhancedOpenSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_owe));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_owe));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_OWE;
         }
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wep));
+        spinnerAdapter.add(mContext.getString(com.android.settingslib.R.string.wifi_security_wep));
         mSecurityInPosition[idx++] = AccessPoint.SECURITY_WEP;
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wpa_wpa2));
+        spinnerAdapter.add(
+                mContext.getString(com.android.settingslib.R.string.wifi_security_wpa_wpa2));
         mSecurityInPosition[idx++] = AccessPoint.SECURITY_PSK;
         if (mWifiManager.isWpa3SaeSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_sae));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_sae));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_SAE;
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_wpa_wpa2));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_wpa_wpa2));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_EAP;
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_wpa3));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_eap_wpa3));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_EAP_WPA3_ENTERPRISE;
         } else {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_eap));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_EAP;
         }
         if (mWifiManager.isWpa3SuiteBSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_suiteb));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_eap_suiteb));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_EAP_SUITE_B;
         }
 
diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java
index f92b58f..26c6b4b 100644
--- a/src/com/android/settings/wifi/WifiConfigController2.java
+++ b/src/com/android/settings/wifi/WifiConfigController2.java
@@ -926,7 +926,7 @@
             } catch (NumberFormatException e) {
                 // Set the hint as default after user types in ip address
                 mNetworkPrefixLengthView.setText(mConfigUi.getContext().getString(
-                        R.string.wifi_network_prefix_length_hint));
+                        com.android.settingslib.R.string.wifi_network_prefix_length_hint));
             } catch (IllegalArgumentException e) {
                 return R.string.wifi_ip_settings_invalid_ip_address;
             }
@@ -959,7 +959,8 @@
 
             if (TextUtils.isEmpty(dns)) {
                 //If everything else is valid, provide hint as a default option
-                mDns1View.setText(mConfigUi.getContext().getString(R.string.wifi_dns1_hint));
+                mDns1View.setText(mConfigUi.getContext().getString(
+                        com.android.settingslib.R.string.wifi_dns1_hint));
             } else {
                 dnsAddr = getIPv4Address(dns);
                 if (dnsAddr == null) {
@@ -1664,11 +1665,12 @@
             public void afterTextChanged(Editable s) {
                 if (s.length() == 0) {
                     if (view.getId() == R.id.gateway) {
-                        mGatewayView.setHint(R.string.wifi_gateway_hint);
+                        mGatewayView.setHint(com.android.settingslib.R.string.wifi_gateway_hint);
                     } else if (view.getId() == R.id.network_prefix_length) {
-                        mNetworkPrefixLengthView.setHint(R.string.wifi_network_prefix_length_hint);
+                        mNetworkPrefixLengthView.setHint(
+                                com.android.settingslib.R.string.wifi_network_prefix_length_hint);
                     } else if (view.getId() == R.id.dns1) {
-                        mDns1View.setHint(R.string.wifi_dns1_hint);
+                        mDns1View.setHint(com.android.settingslib.R.string.wifi_dns1_hint);
                     }
                     Button submit = mConfigUi.getSubmitButton();
                     if (submit == null) return;
@@ -1810,29 +1812,36 @@
         int idx = 0;
 
         // Populate the Wi-Fi security spinner with the various supported key management types
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_none));
+        spinnerAdapter.add(mContext.getString(com.android.settingslib.R.string.wifi_security_none));
         mSecurityInPosition[idx++] = WifiEntry.SECURITY_NONE;
         if (mWifiManager.isEnhancedOpenSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_owe));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_owe));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_OWE;
         }
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wep));
+        spinnerAdapter.add(mContext.getString(com.android.settingslib.R.string.wifi_security_wep));
         mSecurityInPosition[idx++] = WifiEntry.SECURITY_WEP;
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wpa_wpa2));
+        spinnerAdapter.add(mContext.getString(
+                com.android.settingslib.R.string.wifi_security_wpa_wpa2));
         mSecurityInPosition[idx++] = WifiEntry.SECURITY_PSK;
         if (mWifiManager.isWpa3SaeSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_sae));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_sae));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_SAE;
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_wpa_wpa2));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_wpa_wpa2));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP;
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_wpa3));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_wpa3));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP_WPA3_ENTERPRISE;
         } else {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP;
         }
         if (mWifiManager.isWpa3SuiteBSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_suiteb));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_suiteb));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP_SUITE_B;
         }
 
diff --git a/src/com/android/settings/wifi/WifiConnectListener.java b/src/com/android/settings/wifi/WifiConnectListener.java
deleted file mode 100644
index b97fbc5..0000000
--- a/src/com/android/settings/wifi/WifiConnectListener.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2019 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.wifi;
-
-import android.content.Context;
-import android.net.wifi.WifiManager;
-import android.widget.Toast;
-
-import com.android.settings.R;
-
-/**
- *  A listener to display a toast on failure to connect
- */
-public class WifiConnectListener implements WifiManager.ActionListener {
-
-    private final Context mContext;
-
-    public WifiConnectListener(Context context) {
-        mContext = context;
-    }
-
-    @Override
-    public void onSuccess() {
-    }
-
-    @Override
-    public void onFailure(int reason) {
-        if (mContext != null) {
-            Toast.makeText(mContext,
-                    R.string.wifi_failed_connect_message,
-                    Toast.LENGTH_SHORT).show();
-        }
-    }
-}
diff --git a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
index c55f3e1..05bd3be 100644
--- a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
@@ -112,7 +112,7 @@
                 return SystemClock.elapsedRealtime();
             }
         };
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(lifecycle, context,
                         new Handler(Looper.getMainLooper()),
diff --git a/src/com/android/settings/wifi/WifiDialogActivity.java b/src/com/android/settings/wifi/WifiDialogActivity.java
index e3e77e8..124e7f0 100644
--- a/src/com/android/settings/wifi/WifiDialogActivity.java
+++ b/src/com/android/settings/wifi/WifiDialogActivity.java
@@ -140,7 +140,7 @@
                     return SystemClock.elapsedRealtime();
                 }
             };
-            mNetworkDetailsTracker = FeatureFactory.getFactory(this)
+            mNetworkDetailsTracker = FeatureFactory.getFeatureFactory()
                     .getWifiTrackerLibProvider()
                     .createNetworkDetailsTracker(
                             getLifecycle(),
diff --git a/src/com/android/settings/wifi/WifiEntryPreference.java b/src/com/android/settings/wifi/WifiEntryPreference.java
index 7206666..e63e942 100644
--- a/src/com/android/settings/wifi/WifiEntryPreference.java
+++ b/src/com/android/settings/wifi/WifiEntryPreference.java
@@ -86,9 +86,18 @@
 
         setLayoutResource(R.layout.preference_access_point);
         mFrictionSld = getFrictionStateListDrawable();
+        mIconInjector = iconInjector;
+        setWifiEntry(wifiEntry);
+    }
+
+    /**
+     * Set updated {@link WifiEntry} to refresh the preference
+     *
+     * @param wifiEntry An instance of {@link WifiEntry}
+     */
+    public void setWifiEntry(@NonNull WifiEntry wifiEntry) {
         mWifiEntry = wifiEntry;
         mWifiEntry.setListener(this);
-        mIconInjector = iconInjector;
         refresh();
     }
 
@@ -113,7 +122,8 @@
         view.itemView.setContentDescription(mContentDescription);
 
         // Turn off divider
-        view.findViewById(R.id.two_target_divider).setVisibility(View.INVISIBLE);
+        view.findViewById(com.android.settingslib.widget.R.id.two_target_divider)
+                .setVisibility(View.INVISIBLE);
 
         // Enable the icon button when the help string in this WifiEntry is not null.
         final ImageButton imageButton = (ImageButton) view.findViewById(R.id.icon_button);
@@ -151,14 +161,9 @@
         if (mWifiEntry instanceof HotspotNetworkEntry) {
             updateHotspotIcon(((HotspotNetworkEntry) mWifiEntry).getDeviceType());
         } else {
-            int level = mWifiEntry.getLevel();
-            boolean showX = mWifiEntry.shouldShowXLevelIcon();
-
-            if (level != mLevel || showX != mShowX) {
-                mLevel = level;
-                mShowX = showX;
-                updateIcon(mShowX, mLevel);
-            }
+            mLevel = mWifiEntry.getLevel();
+            mShowX = mWifiEntry.shouldShowXLevelIcon();
+            updateIcon(mShowX, mLevel);
         }
 
         setSummary(mWifiEntry.getSummary(false /* concise */));
diff --git a/src/com/android/settings/wifi/WifiPickerTrackerHelper.java b/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
index 3aa7b83..4df3efa 100644
--- a/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
+++ b/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
@@ -78,7 +78,7 @@
                 Process.THREAD_PRIORITY_BACKGROUND);
         mWorkerThread.start();
 
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(lifecycle, context,
                 new Handler(Looper.getMainLooper()),
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 2a16664..2518de9 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -59,7 +59,6 @@
 import com.android.settings.R;
 import com.android.settings.RestrictedSettingsFragment;
 import com.android.settings.SettingsActivity;
-import com.android.settings.Utils;
 import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.datausage.DataUsagePreference;
@@ -175,9 +174,7 @@
     };
 
     protected WifiManager mWifiManager;
-    private WifiManager.ActionListener mConnectListener;
     private WifiManager.ActionListener mSaveListener;
-    private WifiManager.ActionListener mForgetListener;
 
     /**
      * The state of {@link #isUiRestricted()} at {@link #onCreate(Bundle)}}. This is neccesary to
@@ -227,8 +224,10 @@
         super.onViewCreated(view, savedInstanceState);
         final Activity activity = getActivity();
         if (activity != null) {
-            mProgressHeader = setPinnedHeaderView(R.layout.progress_header)
-                    .findViewById(R.id.progress_bar_animation);
+            mProgressHeader =
+                    setPinnedHeaderView(com.android.settingslib.widget.R.layout.progress_header)
+                            .findViewById(
+                                    com.android.settingslib.widget.R.id.progress_bar_animation);
             setProgressBarVisible(false);
         }
         ((SettingsActivity) activity).getSwitchBar().setTitle(
@@ -295,7 +294,7 @@
 
         mMainHandler = new Handler(Looper.getMainLooper());
         mWorkerHandler = mWorkerThread.getThreadHandler();
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(getSettingsLifecycle(), context,
                         mMainHandler, mWorkerHandler,
@@ -310,8 +309,6 @@
             mWifiManager = getActivity().getSystemService(WifiManager.class);
         }
 
-        mConnectListener = new WifiConnectListener(getActivity());
-
         mSaveListener = new WifiManager.ActionListener() {
             @Override
             public void onSuccess() {
@@ -328,21 +325,6 @@
             }
         };
 
-        mForgetListener = new WifiManager.ActionListener() {
-            @Override
-            public void onSuccess() {
-            }
-
-            @Override
-            public void onFailure(int reason) {
-                Activity activity = getActivity();
-                if (activity != null) {
-                    Toast.makeText(activity,
-                            R.string.wifi_failed_forget_message,
-                            Toast.LENGTH_SHORT).show();
-                }
-            }
-        };
         registerForContextMenu(getListView());
         setHasOptionsMenu(true);
 
diff --git a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
index 60031b0..b98d5cd 100644
--- a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
+++ b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
@@ -192,7 +192,7 @@
                 return SystemClock.elapsedRealtime();
             }
         };
-        mWifiPickerTracker = FeatureFactory.getFactory(mActivity.getApplicationContext())
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(getSettingsLifecycle(), mActivity,
                         new Handler(Looper.getMainLooper()),
@@ -550,7 +550,7 @@
             }
 
             final View divider = view.findViewById(
-                    com.android.settingslib.R.id.two_target_divider);
+                    com.android.settingslib.widget.R.id.two_target_divider);
             if (divider != null) {
                 divider.setVisibility(View.GONE);
             }
diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
index dd0c20a..b638ce7 100644
--- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
@@ -280,7 +280,7 @@
             }
         };
 
-        mNetworkDetailsTracker = FeatureFactory.getFactory(context)
+        mNetworkDetailsTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createNetworkDetailsTracker(
                         getSettingsLifecycle(),
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
index e0a1e39..48fcae8 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
@@ -25,7 +25,6 @@
 
 import androidx.annotation.DrawableRes;
 
-import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
 
 import com.google.android.setupcompat.template.FooterBarMixin;
@@ -59,13 +58,13 @@
         if (isFooterAvailable()) {
             mLeftButton = new FooterButton.Builder(getContext())
                     .setButtonType(FooterButton.ButtonType.CANCEL)
-                    .setTheme(R.style.SudGlifButton_Secondary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                     .build();
             mGlifLayout.getMixin(FooterBarMixin.class).setSecondaryButton(mLeftButton);
 
             mRightButton = new FooterButton.Builder(getContext())
                     .setButtonType(FooterButton.ButtonType.NEXT)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
             mGlifLayout.getMixin(FooterBarMixin.class).setPrimaryButton(mRightButton);
         }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
index d3a4be7..215c6b0 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
@@ -27,6 +27,7 @@
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.provider.Settings;
+import android.text.InputType;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -118,6 +119,8 @@
 
         final String password = wifiNetworkConfig.getPreSharedKey();
         TextView passwordView = view.findViewById(R.id.password);
+        passwordView.setInputType(
+                InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
         if (TextUtils.isEmpty(password)) {
             mSummary.setText(getString(
                     R.string.wifi_dpp_scan_open_network_qr_code_with_another_device,
@@ -223,11 +226,9 @@
 
     private Button createActionButton(Drawable icon, CharSequence title, View.OnClickListener r) {
         final Button b = (Button) LayoutInflater.from(getContext()).inflate(
-                com.android.internal.R.layout.chooser_action_button, null);
+                R.layout.action_button, null);
         if (icon != null) {
-            final int size = getResources()
-                    .getDimensionPixelSize(
-                            com.android.internal.R.dimen.chooser_action_button_icon_size);
+            final int size = getResources().getDimensionPixelSize(R.dimen.action_button_icon_size);
             icon.setBounds(0, 0, size, size);
             b.setCompoundDrawablesRelative(icon, null, null, null);
         }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
index 872c61a..479c81d 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
@@ -400,7 +400,7 @@
             }
         };
         final Context context = getContext();
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(getSettingsLifecycle(), context,
                         new Handler(Looper.getMainLooper()),
diff --git a/src/com/android/settings/wifi/dpp/WifiDppUtils.java b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
index 39a5431..c336c62 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppUtils.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
@@ -27,11 +27,13 @@
 import android.os.CancellationSignal;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.UserHandle;
 import android.os.VibrationEffect;
 import android.os.Vibrator;
 import android.text.TextUtils;
 
 import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settingslib.wifi.AccessPoint;
 import com.android.wifitrackerlib.WifiEntry;
 
@@ -391,11 +393,19 @@
                         }
             };
 
+            final int userId = UserHandle.myUserId();
+
             final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(context)
-                    .setTitle(context.getText(R.string.wifi_dpp_lockscreen_title));
+                    .setTitle(context.getText(R.string.wifi_dpp_lockscreen_title))
+                    .setUseDefaultSubtitle();
 
             if (keyguardManager.isDeviceSecure()) {
                 builder.setDeviceCredentialAllowed(true);
+                builder.setTextForDeviceCredential(
+                        null /* title */,
+                        Utils.getConfirmCredentialStringForUser(
+                                context, userId, Utils.getCredentialType(context, userId)),
+                        null /* description */);
             }
 
             final BiometricPrompt bp = builder.build();
diff --git a/src/com/android/settings/wifi/dpp/WifiQrCode.java b/src/com/android/settings/wifi/dpp/WifiQrCode.java
index 2b4c3ed..70ac96c 100644
--- a/src/com/android/settings/wifi/dpp/WifiQrCode.java
+++ b/src/com/android/settings/wifi/dpp/WifiQrCode.java
@@ -160,8 +160,9 @@
 
     private String getValueOrNull(List<String> keyValueList, String prefix) {
         for (String keyValue : keyValueList) {
-            if (keyValue.startsWith(prefix)) {
-                return  keyValue.substring(prefix.length());
+            String strippedKeyValue = keyValue.stripLeading();
+            if (strippedKeyValue.startsWith(prefix)) {
+                return strippedKeyValue.substring(prefix.length());
             }
         }
 
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java
index 00cb36b..3f486f2 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java
@@ -31,7 +31,7 @@
 public class WifiP2pPeer extends Preference {
 
     private static final int FIXED_RSSI = 60;
-    private static final int[] STATE_SECURED = {R.attr.state_encrypted};
+    private static final int[] STATE_SECURED = {com.android.settingslib.R.attr.state_encrypted};
     public WifiP2pDevice device;
 
     @VisibleForTesting final int mRssi;
diff --git a/src/com/android/settings/wifi/repository/WifiHotspotRepository.java b/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
index af8eb47..6140d71 100644
--- a/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
+++ b/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
@@ -657,6 +657,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(mAppContext).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java
index f0841f4..a038e1d 100644
--- a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java
+++ b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java
@@ -66,6 +66,7 @@
         super.displayPreference(screen);
     }
 
+    @VisibleForTesting
     void displayPreference(PreferenceScreen screen, List<WifiEntry> wifiEntries) {
         if (wifiEntries == null || wifiEntries.isEmpty()) {
             mWifiEntries.clear();
@@ -89,28 +90,32 @@
      * mPreferenceGroup.removeAll() then mPreferenceGroup.addPreference for mWifiEntries.
      */
     private void updatePreference() {
-        // Remove the Preference of removed WifiEntry.
-        final List<String> removedPreferenceKeys = new ArrayList<>();
-        final int preferenceCount = mPreferenceGroup.getPreferenceCount();
+        // Update WifiEntry to existing preference and find out which WifiEntry was removed by key.
+        List<String> removedKeys = new ArrayList<>();
+        int preferenceCount = mPreferenceGroup.getPreferenceCount();
         for (int i = 0; i < preferenceCount; i++) {
-            final String key = mPreferenceGroup.getPreference(i).getKey();
-            if (mWifiEntries.stream().filter(wifiEntry ->
-                    TextUtils.equals(key, wifiEntry.getKey())).count() == 0) {
-                removedPreferenceKeys.add(key);
+            WifiEntryPreference pref = (WifiEntryPreference) mPreferenceGroup.getPreference(i);
+            WifiEntry wifiEntry = mWifiEntries.stream()
+                    .filter(entry -> TextUtils.equals(pref.getKey(), entry.getKey()))
+                    .findFirst()
+                    .orElse(null);
+            if (wifiEntry != null) {
+                pref.setWifiEntry(wifiEntry);
+            } else {
+                removedKeys.add(pref.getKey());
             }
         }
-        for (String removedPreferenceKey : removedPreferenceKeys) {
-            mPreferenceGroup.removePreference(
-                    mPreferenceGroup.findPreference(removedPreferenceKey));
+        // Remove preference by WifiEntry's key.
+        for (String removedKey : removedKeys) {
+            mPreferenceGroup.removePreference(mPreferenceGroup.findPreference(removedKey));
         }
 
         // Add the Preference of new added WifiEntry.
         for (WifiEntry wifiEntry : mWifiEntries) {
             if (mPreferenceGroup.findPreference(wifiEntry.getKey()) == null) {
-                final WifiEntryPreference preference = new WifiEntryPreference(mContext, wifiEntry);
+                WifiEntryPreference preference = new WifiEntryPreference(mContext, wifiEntry);
                 preference.setKey(wifiEntry.getKey());
                 preference.setOnPreferenceClickListener(this);
-
                 mPreferenceGroup.addPreference(preference);
             }
         }
diff --git a/src/com/android/settings/wifi/slice/ContextualWifiSlice.java b/src/com/android/settings/wifi/slice/ContextualWifiSlice.java
index 4806573..6b83f74 100644
--- a/src/com/android/settings/wifi/slice/ContextualWifiSlice.java
+++ b/src/com/android/settings/wifi/slice/ContextualWifiSlice.java
@@ -65,7 +65,7 @@
 
     @Override
     public Slice getSlice() {
-        final long currentUiSession = FeatureFactory.getFactory(mContext)
+        final long currentUiSession = FeatureFactory.getFeatureFactory()
                 .getSlicesFeatureProvider().getUiSessionToken();
         if (currentUiSession != sActiveUiSession) {
             sActiveUiSession = currentUiSession;
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSecuritySettings.java b/src/com/android/settings/wifi/tether/WifiHotspotSecuritySettings.java
index 0dc1605..9489e11 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSecuritySettings.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSecuritySettings.java
@@ -63,7 +63,7 @@
     }
 
     protected void loadViewModel() {
-        mWifiHotspotSecurityViewModel = FeatureFactory.getFactory(getContext())
+        mWifiHotspotSecurityViewModel = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotSecurityViewModel(this);
         LiveData<List<WifiHotspotSecurityViewModel.ViewItem>> viewItemListData =
                 mWifiHotspotSecurityViewModel.getViewItemListData();
@@ -115,6 +115,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getContext()).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSecurityViewModel.java b/src/com/android/settings/wifi/tether/WifiHotspotSecurityViewModel.java
index 7c8554c..0f912a4 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSecurityViewModel.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSecurityViewModel.java
@@ -65,7 +65,7 @@
         mViewItemMap.put(SECURITY_TYPE_WPA2_PSK, new ViewItem(KEY_SECURITY_WPA2));
         mViewItemMap.put(SECURITY_TYPE_OPEN, new ViewItem(KEY_SECURITY_NONE));
 
-        mWifiHotspotRepository = FeatureFactory.getFactory(application).getWifiFeatureProvider()
+        mWifiHotspotRepository = FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
                 .getWifiHotspotRepository();
         mWifiHotspotRepository.getSecurityType().observeForever(mSecurityTypeObserver);
         mWifiHotspotRepository.getSpeedType().observeForever(mSpeedTypeObserver);
@@ -159,6 +159,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getApplication()).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java b/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java
index a5e12d8..08afde1 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java
@@ -77,7 +77,7 @@
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         loadPreferences();
-        mWifiHotspotSpeedViewModel = FeatureFactory.getFactory(getContext())
+        mWifiHotspotSpeedViewModel = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotSpeedViewModel(this);
         onSpeedInfoMapDataChanged(mWifiHotspotSpeedViewModel.getSpeedInfoMapData().getValue());
         mWifiHotspotSpeedViewModel.getSpeedInfoMapData()
@@ -138,6 +138,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getContext()).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java b/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java
index e7eb3a6..ddf8d3f 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java
@@ -65,7 +65,7 @@
 
     public WifiHotspotSpeedViewModel(@NotNull Application application) {
         super(application);
-        mWifiHotspotRepository = FeatureFactory.getFactory(application).getWifiFeatureProvider()
+        mWifiHotspotRepository = FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
                 .getWifiHotspotRepository();
         mWifiHotspotRepository.get6gAvailable().observeForever(m6gAvailableObserver);
         mWifiHotspotRepository.get5gAvailable().observeForever(m5gAvailableObserver);
@@ -177,6 +177,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getApplication()).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
index 0b6d533..701c72c 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
@@ -38,7 +38,7 @@
 
     public WifiTetherAutoOffPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        WifiHotspotRepository wifiHotspotRepository = FeatureFactory.getFactory(context)
+        WifiHotspotRepository wifiHotspotRepository = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotRepository();
         if (wifiHotspotRepository.isSpeedFeatureAvailable() && wifiHotspotRepository.isDualBand()) {
             mNeedShutdownSecondarySap = true;
diff --git a/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java
index 448a2a3..7a77d49 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java
@@ -44,7 +44,7 @@
             WifiTetherBasePreferenceController.OnTetherConfigUpdateListener listener) {
         super(context, listener);
         // If the Wi-Fi Hotspot Speed Feature available, then hide this controller.
-        mShouldHidePreference = FeatureFactory.getFactory(context)
+        mShouldHidePreference = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotRepository().isSpeedFeatureAvailable();
         Log.d(TAG, "mShouldHidePreference:" + mShouldHidePreference);
         if (mShouldHidePreference) {
diff --git a/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
index c50357b..7d0a86b 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
@@ -54,7 +54,7 @@
     WifiTetherPasswordPreferenceController(Context context, OnTetherConfigUpdateListener listener,
             MetricsFeatureProvider provider) {
         super(context, listener);
-        FeatureFactory featureFactory = FeatureFactory.getFactory(context);
+        FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = (provider != null) ? provider
                 : featureFactory.getMetricsFeatureProvider();
         mWifiHotspotRepository = featureFactory.getWifiFeatureProvider().getWifiHotspotRepository();
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
index 9070d44..1e415b3 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
@@ -63,7 +63,7 @@
         super(context, listener);
 
         mWifiDeviceNameTextValidator = new WifiDeviceNameTextValidator();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java
index 9a9be98..79a97ae 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java
@@ -56,7 +56,7 @@
             OnTetherConfigUpdateListener listener) {
         super(context, listener);
         // If the Wi-Fi Hotspot Speed Feature available, then hide this controller.
-        mShouldHidePreference = FeatureFactory.getFactory(context)
+        mShouldHidePreference = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotRepository().isSpeedFeatureAvailable();
         Log.d(TAG, "shouldHidePreference():" + mShouldHidePreference);
         if (mShouldHidePreference) {
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index d8c3908..85812a5 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -144,7 +144,7 @@
             return;
         }
 
-        mWifiTetherViewModel = FeatureFactory.getFactory(getContext()).getWifiFeatureProvider()
+        mWifiTetherViewModel = FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
                 .getWifiTetherViewModel(this);
         if (mWifiTetherViewModel != null) {
             setupSpeedFeature(mWifiTetherViewModel.isSpeedFeatureAvailable());
@@ -206,7 +206,8 @@
         }
         if (mUnavailable) {
             if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.tethering_settings_not_available);
+                getEmptyTextView()
+                        .setText(com.android.settingslib.R.string.tethering_settings_not_available);
             }
             getPreferenceScreen().removeAll();
             return;
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSsidPreference.java b/src/com/android/settings/wifi/tether/WifiTetherSsidPreference.java
index 4343fcc..a9487a5 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSsidPreference.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSsidPreference.java
@@ -68,7 +68,7 @@
 
     private void initialize() {
         // TODO(b/129019971): use methods of divider line in parent object
-        setLayoutResource(com.android.settingslib.R.layout.preference_two_target);
+        setLayoutResource(com.android.settingslib.widget.R.layout.preference_two_target);
         setWidgetLayoutResource(R.layout.wifi_button_preference_widget);
 
         mShareIconDrawable = getDrawable(R.drawable.ic_qrcode_24dp);
@@ -79,7 +79,8 @@
         super.onBindViewHolder(holder);
 
         final ImageButton shareButton = (ImageButton) holder.findViewById(R.id.button_icon);
-        final View dividerView = holder.findViewById(R.id.two_target_divider);
+        final View dividerView = holder.findViewById(
+                com.android.settingslib.widget.R.id.two_target_divider);
 
         if (mVisible) {
             shareButton.setOnClickListener(mClickListener);
diff --git a/src/com/android/settings/wifi/tether/WifiTetherViewModel.java b/src/com/android/settings/wifi/tether/WifiTetherViewModel.java
index fb2160f..4cde1be 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherViewModel.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherViewModel.java
@@ -52,11 +52,14 @@
     static Map<Integer, Integer> sSecuritySummaryResMap = new HashMap<>();
 
     static {
-        sSecuritySummaryResMap.put(SECURITY_TYPE_WPA3_SAE, R.string.wifi_security_sae);
+        sSecuritySummaryResMap.put(
+                SECURITY_TYPE_WPA3_SAE, com.android.settingslib.R.string.wifi_security_sae);
         sSecuritySummaryResMap.put(SECURITY_TYPE_WPA3_SAE_TRANSITION,
-                R.string.wifi_security_psk_sae);
-        sSecuritySummaryResMap.put(SECURITY_TYPE_WPA2_PSK, R.string.wifi_security_wpa2);
-        sSecuritySummaryResMap.put(SECURITY_TYPE_OPEN, R.string.wifi_security_none);
+                com.android.settingslib.R.string.wifi_security_psk_sae);
+        sSecuritySummaryResMap.put(
+                SECURITY_TYPE_WPA2_PSK, com.android.settingslib.R.string.wifi_security_wpa2);
+        sSecuritySummaryResMap.put(
+                SECURITY_TYPE_OPEN, com.android.settingslib.R.string.wifi_security_none);
     }
 
     static Map<Integer, Integer> sSpeedSummaryResMap = new HashMap<>();
@@ -77,7 +80,7 @@
 
     public WifiTetherViewModel(@NotNull Application application) {
         super(application);
-        mWifiHotspotRepository = FeatureFactory.getFactory(application).getWifiFeatureProvider()
+        mWifiHotspotRepository = FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
                 .getWifiHotspotRepository();
     }
 
diff --git a/tests/robotests/Android.bp b/tests/robotests/Android.bp
index 94febff..c2b7c6a 100644
--- a/tests/robotests/Android.bp
+++ b/tests/robotests/Android.bp
@@ -32,6 +32,7 @@
         "androidx.core_core",
         "androidx.appcompat_appcompat",
         "androidx.cardview_cardview",
+        "androidx.fragment_fragment-testing",
         "androidx.preference_preference",
         "androidx.recyclerview_recyclerview",
         "androidx.window_window",
@@ -47,7 +48,7 @@
         "jsr305",
         "settings-contextual-card-protos-lite",
         "settings-log-bridge-protos-lite",
-	"settings-telephony-protos-lite",
+        "settings-telephony-protos-lite",
         "contextualcards",
         "settings-logtags",
         "zxing-core-1.7",
diff --git a/tests/robotests/res/xml-mcc999/about_legal.xml b/tests/robotests/res/xml-mcc999/about_legal.xml
deleted file mode 100644
index cbbc99a..0000000
--- a/tests/robotests/res/xml-mcc999/about_legal.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
-  -->
-
-<!--
-    WARNING: This resource file is used to test Settings Search indexing.
-    If you change something in here, please run the settings robotests and
-    make sure they still pass.
- -->
-
-<PreferenceScreen
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res-auto"
-        android:title="bears_bears_bears"
-        settings:keywords="keywords">
-
-    <Preference
-            android:key="pref_key_1"
-            android:title="bears_bears_bears"
-            settings:controller="mind_flayer"/>
-</PreferenceScreen>
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/UtilsTest.java b/tests/robotests/src/com/android/settings/UtilsTest.java
index f0a18ec..733a5e6 100644
--- a/tests/robotests/src/com/android/settings/UtilsTest.java
+++ b/tests/robotests/src/com/android/settings/UtilsTest.java
@@ -16,9 +16,15 @@
 
 package com.android.settings;
 
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PASSWORD;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PATTERN;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PIN;
+
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThrows;
+import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
@@ -31,6 +37,7 @@
 
 import android.app.ActionBar;
 import android.app.admin.DevicePolicyManager;
+import android.app.admin.DevicePolicyResourcesManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -60,6 +67,7 @@
 import androidx.core.graphics.drawable.IconCompat;
 import androidx.fragment.app.FragmentActivity;
 
+import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 
 import org.junit.After;
@@ -94,6 +102,8 @@
     @Mock
     private DevicePolicyManager mDevicePolicyManager;
     @Mock
+    private DevicePolicyResourcesManager mDevicePolicyResourcesManager;
+    @Mock
     private UserManager mMockUserManager;
     @Mock
     private PackageManager mPackageManager;
@@ -348,4 +358,103 @@
                 SecurityException.class,
                 () -> Utils.checkUserOwnsFrpCredential(mContext, 123));
     }
+
+    @Test
+    public void getConfirmCredentialStringForUser_Pin_shouldReturnCorrectString() {
+        setUpForConfirmCredentialString(false /* isEffectiveUserManagedProfile */);
+
+        when(mContext.getString(R.string.lockpassword_confirm_your_pin_generic))
+                .thenReturn("PIN");
+
+        String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
+                USER_ID, LockPatternUtils.CREDENTIAL_TYPE_PIN);
+
+        assertThat(confirmCredentialString).isEqualTo("PIN");
+    }
+
+    @Test
+    public void getConfirmCredentialStringForUser_Pattern_shouldReturnCorrectString() {
+        setUpForConfirmCredentialString(false /* isEffectiveUserManagedProfile */);
+
+        when(mContext.getString(R.string.lockpassword_confirm_your_pattern_generic))
+                .thenReturn("PATTERN");
+
+        String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
+                USER_ID, LockPatternUtils.CREDENTIAL_TYPE_PATTERN);
+
+        assertThat(confirmCredentialString).isEqualTo("PATTERN");
+    }
+
+    @Test
+    public void getConfirmCredentialStringForUser_Password_shouldReturnCorrectString() {
+        setUpForConfirmCredentialString(false /* isEffectiveUserManagedProfile */);
+
+        when(mContext.getString(R.string.lockpassword_confirm_your_password_generic))
+                .thenReturn("PASSWORD");
+
+        String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
+                USER_ID, LockPatternUtils.CREDENTIAL_TYPE_PASSWORD);
+
+        assertThat(confirmCredentialString).isEqualTo("PASSWORD");
+    }
+
+    @Test
+    public void getConfirmCredentialStringForUser_workPin_shouldReturnCorrectString() {
+        setUpForConfirmCredentialString(true /* isEffectiveUserManagedProfile */);
+
+        when(mDevicePolicyResourcesManager
+                .getString(eq(WORK_PROFILE_CONFIRM_PIN), any()))
+                .thenReturn("WORK PIN");
+
+        String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
+                USER_ID, LockPatternUtils.CREDENTIAL_TYPE_PIN);
+
+        assertThat(confirmCredentialString).isEqualTo("WORK PIN");
+    }
+
+    @Test
+    public void getConfirmCredentialStringForUser_workPattern_shouldReturnCorrectString() {
+        setUpForConfirmCredentialString(true /* isEffectiveUserManagedProfile */);
+
+        when(mDevicePolicyResourcesManager
+                .getString(eq(WORK_PROFILE_CONFIRM_PATTERN), any()))
+                .thenReturn("WORK PATTERN");
+
+        String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
+                USER_ID, LockPatternUtils.CREDENTIAL_TYPE_PATTERN);
+
+        assertThat(confirmCredentialString).isEqualTo("WORK PATTERN");
+    }
+
+    @Test
+    public void getConfirmCredentialStringForUser_workPassword_shouldReturnCorrectString() {
+        setUpForConfirmCredentialString(true /* isEffectiveUserManagedProfile */);
+
+        when(mDevicePolicyResourcesManager
+                .getString(eq(WORK_PROFILE_CONFIRM_PASSWORD), any()))
+                .thenReturn("WORK PASSWORD");
+
+        String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
+                USER_ID, LockPatternUtils.CREDENTIAL_TYPE_PASSWORD);
+
+        assertThat(confirmCredentialString).isEqualTo("WORK PASSWORD");
+    }
+
+    @Test
+    public void getConfirmCredentialStringForUser_credentialTypeNone_shouldReturnNull() {
+        setUpForConfirmCredentialString(false /* isEffectiveUserManagedProfile */);
+
+        String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
+                USER_ID, LockPatternUtils.CREDENTIAL_TYPE_NONE);
+
+        assertNull(confirmCredentialString);
+    }
+
+    private void setUpForConfirmCredentialString(boolean isEffectiveUserManagedProfile) {
+        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mMockUserManager);
+        when(mMockUserManager.getCredentialOwnerProfile(USER_ID)).thenReturn(USER_ID);
+        when(mMockUserManager.isManagedProfile(USER_ID)).thenReturn(isEffectiveUserManagedProfile);
+        when(mContext.getSystemService(DevicePolicyManager.class)).thenReturn(mDevicePolicyManager);
+        when(mDevicePolicyManager.getResources()).thenReturn(mDevicePolicyResourcesManager);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
index 4922eab..ad53ad6 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
@@ -24,8 +24,6 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -39,7 +37,7 @@
 
     @Before
     public void setUp() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java
index aef9143..95c4b77 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java
@@ -72,7 +72,8 @@
         mPreference.setTitle(TEST_TITLE);
 
         final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final View view = inflater.inflate(R.layout.preference_footer, null);
+        final View view = inflater.inflate(
+                com.android.settingslib.widget.R.layout.preference_footer, null);
         mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(view);
         mPreference.onBindViewHolder(mPreferenceViewHolder);
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceTest.java
index 0f83bc3..6b55607 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceTest.java
@@ -26,8 +26,6 @@
 
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -48,7 +46,7 @@
 
         final LayoutInflater inflater = LayoutInflater.from(context);
         final View view =
-                inflater.inflate(R.layout.preference_footer, null);
+                inflater.inflate(com.android.settingslib.widget.R.layout.preference_footer, null);
         mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(view);
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java
index 5bc7f18..202fa8b 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java
@@ -37,7 +37,6 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SubSettings;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -67,7 +66,7 @@
 
     @Before
     public void setUp() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mShortcutTypes = /* initial */ 0;
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest.java
index 47c8370..8174541 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest.java
@@ -96,7 +96,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mFragment = spy(new TestFragment());
         when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
         when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index bb72368..30b8302 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -130,7 +130,7 @@
         when(mActivity.getContentResolver()).thenReturn(mContentResolver);
         when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
         when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         when(mContext.getSystemService(AppOpsManager.class)).thenReturn(mAppOpsManager);
         when(mAppOpsManager.noteOpNoThrow(eq(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS),
                 anyInt(), anyString())).thenReturn(AppOpsManager.MODE_ALLOWED);
@@ -200,7 +200,7 @@
     }
 
     @Test
-    public void getServiceSummary_enableServiceShortcutOn_showsServiceEnabledShortcutOn() {
+    public void getServiceSummary_enableServiceShortcutOnWithEmptyDescription_showsServiceEnabled() {
         doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), true);
 
@@ -208,27 +208,23 @@
                 mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_service_on),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled)));
+                mContext.getString(R.string.generic_accessibility_service_on));
     }
 
     @Test
-    public void getServiceSummary_enableServiceShortcutOff_showsServiceEnabledShortcutOff() {
+    public void getServiceSummary_enableServiceShortcutOffWithEmptyDescription_showsServiceEnabled() {
         doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), false);
 
-        String summary = AccessibilitySettings.getServiceSummary(mContext,
-                mServiceInfo, SERVICE_ENABLED).toString();
+        String summary = AccessibilitySettings.getServiceSummary(
+                mContext, mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_service_on),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off)));
+                mContext.getString(R.string.generic_accessibility_service_on));
     }
 
     @Test
-    public void getServiceSummary_disableServiceShortcutOff_showsDisabledShortcutOff() {
+    public void getServiceSummary_disableServiceShortcutOffWithEmptyDescription_showsServiceDisabled() {
         doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), false);
 
@@ -236,13 +232,11 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_service_off),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off)));
+                mContext.getString(R.string.generic_accessibility_service_off));
     }
 
     @Test
-    public void getServiceSummary_disableServiceShortcutOn_showsDisabledShortcutOn() {
+    public void getServiceSummary_disableServiceShortcutOnWithEmptyDescription_showsServiceDisabled() {
         doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), true);
 
@@ -250,13 +244,11 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_service_off),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled)));
+                mContext.getString(R.string.generic_accessibility_service_off));
     }
 
     @Test
-    public void getServiceSummary_enableServiceShortcutOffAndHasSummary_showsEnabledShortcutOffSummary() {
+    public void getServiceSummary_enableServiceShortcutOffAndHasSummary_showsEnabledSummary() {
         setShortcutEnabled(mServiceInfo.getComponentName(), false);
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
 
@@ -264,14 +256,13 @@
                 mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
+                mContext.getString(R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_on),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
                         DEFAULT_SUMMARY));
     }
 
     @Test
-    public void getServiceSummary_enableServiceShortcutOnAndHasSummary_showsEnabledShortcutOnSummary() {
+    public void getServiceSummary_enableServiceShortcutOnAndHasSummary_showsEnabledSummary() {
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), true);
 
@@ -279,14 +270,13 @@
                 mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
+                mContext.getString(R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_on),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
                         DEFAULT_SUMMARY));
     }
 
     @Test
-    public void getServiceSummary_disableServiceShortcutOnAndHasSummary_showsDisabledShortcutOnSummary() {
+    public void getServiceSummary_disableServiceShortcutOnAndHasSummary_showsDisabledSummary() {
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
         setShortcutEnabled(mServiceInfo.getComponentName(), true);
 
@@ -294,14 +284,13 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
+                mContext.getString(R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_off),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
                         DEFAULT_SUMMARY));
     }
 
     @Test
-    public void getServiceSummary_disableServiceShortcutOffAndHasSummary_showsDisabledShortcutOffSummary() {
+    public void getServiceSummary_disableServiceShortcutOffAndHasSummary_showsDisabledSummary() {
         setShortcutEnabled(mServiceInfo.getComponentName(), false);
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
 
@@ -309,9 +298,8 @@
                 mServiceInfo, SERVICE_DISABLED).toString();
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
+                mContext.getString(R.string.preference_summary_default_combination,
                         mContext.getString(R.string.generic_accessibility_service_off),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
                         DEFAULT_SUMMARY));
     }
 
@@ -337,36 +325,6 @@
     }
 
     @Test
-    public void getA11yShortcutInfoPreferenceSummary_shortcutOn_showsShortcutOnSummary() {
-        doReturn(DEFAULT_SUMMARY).when(mShortcutInfo).loadSummary(any());
-        setShortcutEnabled(COMPONENT_NAME, true);
-
-        String summary = AccessibilitySettings.getA11yShortcutInfoPreferenceSummary(
-                mContext,
-                mShortcutInfo).toString();
-
-        assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        DEFAULT_SUMMARY));
-    }
-
-    @Test
-    public void getA11yShortcutInfoPreferenceSummary_shortcutOff_showsShortcutOffSummary() {
-        doReturn(DEFAULT_SUMMARY).when(mShortcutInfo).loadSummary(any());
-        setShortcutEnabled(COMPONENT_NAME, false);
-
-        String summary = AccessibilitySettings.getA11yShortcutInfoPreferenceSummary(
-                mContext,
-                mShortcutInfo).toString();
-
-        assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        DEFAULT_SUMMARY));
-    }
-
-    @Test
     @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void onCreate_haveRegisterToSpecificUrisAndActions() {
         mFragment.onAttach(mContext);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
index 7fbc3e3..15374d6 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
@@ -46,7 +46,6 @@
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowFragment;
 
 import org.junit.Before;
@@ -140,7 +139,7 @@
 
     @Test
     public void setupEditShortcutDialog_shortcutPreferenceOff_checkboxIsEmptyValue() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
                 mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC,
                 PLACEHOLDER_DIALOG_TITLE,
@@ -158,7 +157,7 @@
 
     @Test
     public void setupEditShortcutDialog_shortcutPreferenceOn_checkboxIsSavedValue() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
                 mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC,
                 PLACEHOLDER_DIALOG_TITLE,
@@ -180,7 +179,7 @@
     @Test
     @Config(shadows = ShadowFragment.class)
     public void restoreValueFromSavedInstanceState_assignShortcutTypeToVariable() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
                 mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC,
                 PLACEHOLDER_DIALOG_TITLE,
@@ -206,7 +205,7 @@
     @Test
     @Config(shadows = ShadowFragment.class)
     public void restoreValueFromSavedInstanceState_showTooltipView() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mFragment.showQuickSettingsTooltipIfNeeded(QuickSettingsTooltipType.GUIDE_TO_EDIT);
         assertThat(getLatestPopupWindow().isShowing()).isTrue();
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
index 60b1ee1..7825677 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
@@ -248,82 +248,6 @@
                 MOCK_COMPONENT_NAME.flattenToString());
     }
 
-    @Test
-    public void getFeatureFullStateSummary_featureOffShortcutOff_showsOffShortcutOffAndSummary() {
-        setSettingsFeatureEnabled(PLACEHOLDER_SETTING_FEATURE, false);
-        clearShortcuts();
-        String expectedText = mContext.getString(
-                R.string.accessibility_feature_full_state_summary,
-                mContext.getString(R.string.color_inversion_state_off),
-                mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                mContext.getString(R.string.color_inversion_feature_summary));
-
-        String observerText = AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, MOCK_COMPONENT_NAME,
-                PLACEHOLDER_SETTING_FEATURE,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary).toString();
-
-        assertThat(observerText).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void getFeatureFullStateSummary_featureOnShortcutOff_showsOnShortcutOffAndSummary() {
-        setSettingsFeatureEnabled(PLACEHOLDER_SETTING_FEATURE, true);
-        clearShortcuts();
-        String expectedText = mContext.getString(
-                R.string.accessibility_feature_full_state_summary,
-                mContext.getString(R.string.color_inversion_state_on),
-                mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                mContext.getString(R.string.color_inversion_feature_summary));
-
-        String observerText = AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, MOCK_COMPONENT_NAME,
-                PLACEHOLDER_SETTING_FEATURE,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary).toString();
-
-        assertThat(observerText).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void getFeatureFullStateSummary_featureOffShortcutOn_showsOffShortcutOnAndSummary() {
-        setSettingsFeatureEnabled(PLACEHOLDER_SETTING_FEATURE, false);
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
-        String expectedText = mContext.getString(
-                R.string.accessibility_feature_full_state_summary,
-                mContext.getString(R.string.color_inversion_state_off),
-                mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                mContext.getString(R.string.color_inversion_feature_summary));
-
-        String observerText = AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, MOCK_COMPONENT_NAME,
-                PLACEHOLDER_SETTING_FEATURE,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary).toString();
-
-        assertThat(observerText).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void getFeatureFullStateSummary_featureOnShortcutOn_showsOnShortcutOnAndSummary() {
-        setSettingsFeatureEnabled(PLACEHOLDER_SETTING_FEATURE, true);
-        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
-        String expectedText = mContext.getString(
-                R.string.accessibility_feature_full_state_summary,
-                mContext.getString(R.string.color_inversion_state_on),
-                mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                mContext.getString(R.string.color_inversion_feature_summary));
-
-        String observerText = AccessibilityUtil.getFeatureFullStateSummary(
-                mContext, MOCK_COMPONENT_NAME,
-                PLACEHOLDER_SETTING_FEATURE,
-                R.string.color_inversion_state_on, R.string.color_inversion_state_off,
-                R.string.color_inversion_feature_summary).toString();
-
-        assertThat(observerText).isEqualTo(expectedText);
-    }
-
     private AccessibilityServiceInfo getMockAccessibilityServiceInfo() {
         final ApplicationInfo applicationInfo = new ApplicationInfo();
         final ServiceInfo serviceInfo = new ServiceInfo();
diff --git a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
index 9ed3749..52905fc 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
@@ -52,51 +52,39 @@
     }
 
     @Test
-    public void getSummary_enabledColorInversionShortcutOff_shouldReturnOnShortcutOffSummary() {
+    public void getSummary_enabledColorInversionShortcutOff_shouldReturnOnSummary() {
         setColorInversionEnabled(true);
         setColorInversionShortcutEnabled(false);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.color_inversion_state_on),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        mColorInversionSummary));
+                mContext.getString(R.string.color_inversion_state_on));
     }
 
     @Test
-    public void getSummary_enabledColorInversionShortcutOn_shouldReturnOnShortcutOnSummary() {
+    public void getSummary_enabledColorInversionShortcutOn_shouldReturnOnSummary() {
         setColorInversionEnabled(true);
         setColorInversionShortcutEnabled(true);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.color_inversion_state_on),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        mColorInversionSummary));
+                mContext.getString(R.string.color_inversion_state_on));
     }
 
     @Test
-    public void getSummary_disabledColorInversionShortcutOff_shouldReturnOffShortcutOffSummary() {
+    public void getSummary_disabledColorInversionShortcutOff_shouldReturnOffSummary() {
         setColorInversionEnabled(false);
         setColorInversionShortcutEnabled(false);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.color_inversion_state_off),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        mColorInversionSummary));
+                mContext.getString(R.string.color_inversion_state_off));
     }
 
     @Test
-    public void getSummary_disabledColorInversionShortcutOn_shouldReturnOffShortcutOnSummary() {
+    public void getSummary_disabledColorInversionShortcutOn_shouldReturnOffSummary() {
         setColorInversionEnabled(false);
         setColorInversionShortcutEnabled(true);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.color_inversion_state_off),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        mColorInversionSummary));
+                mContext.getString(R.string.color_inversion_state_off));
     }
 
     private void setColorInversionShortcutEnabled(boolean enabled) {
diff --git a/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
index 96796a0..d41f295 100644
--- a/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
@@ -50,51 +50,39 @@
     }
 
     @Test
-    public void getSummary_enabledColorCorrectionShortcutOff_shouldReturnOnShortcutOffSummary() {
+    public void getSummary_enabledColorCorrectionShortcutOff_shouldReturnOnSummary() {
         setColorCorrectionEnabled(true);
         setColorCorrectionShortcutEnabled(false);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.daltonizer_state_on),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        mDaltonizerSummary));
+                mContext.getString(R.string.daltonizer_state_on));
     }
 
     @Test
-    public void getSummary_enabledColorCorrectionShortcutOn_shouldReturnOnShortcutOnSummary() {
+    public void getSummary_enabledColorCorrectionShortcutOn_shouldReturnOnSummary() {
         setColorCorrectionEnabled(true);
         setColorCorrectionShortcutEnabled(true);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.daltonizer_state_on),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        mDaltonizerSummary));
+                mContext.getString(R.string.daltonizer_state_on));
     }
 
     @Test
-    public void getSummary_disabledColorCorrectionShortcutOff_shouldReturnOffShortcutOffSummary() {
+    public void getSummary_disabledColorCorrectionShortcutOff_shouldReturnOffSummary() {
         setColorCorrectionEnabled(false);
         setColorCorrectionShortcutEnabled(false);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.daltonizer_state_off),
-                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
-                        mDaltonizerSummary));
+                mContext.getString(R.string.daltonizer_state_off));
     }
 
     @Test
-    public void getSummary_disabledColorCorrectionShortcutOn_shouldReturnOffShortcutOnSummary() {
+    public void getSummary_disabledColorCorrectionShortcutOn_shouldReturnOffSummary() {
         setColorCorrectionEnabled(false);
         setColorCorrectionShortcutEnabled(true);
 
         assertThat(mController.getSummary().toString()).isEqualTo(
-                mContext.getString(R.string.accessibility_feature_full_state_summary,
-                        mContext.getString(R.string.daltonizer_state_off),
-                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                        mDaltonizerSummary));
+                mContext.getString(R.string.daltonizer_state_off));
     }
 
     private void setColorCorrectionEnabled(boolean enabled) {
diff --git a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceTest.java
index 1e7f089..e960008 100644
--- a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceTest.java
@@ -68,7 +68,8 @@
 
         final View frame = mPreferenceViewHolder.findViewById(R.id.frame);
         final int backgroundResId = Shadows.shadowOf(frame.getBackground()).getCreatedFromResId();
-        assertThat(backgroundResId).isEqualTo(R.drawable.settingslib_switch_bar_bg_on);
+        assertThat(backgroundResId).isEqualTo(
+                com.android.settingslib.widget.R.drawable.settingslib_switch_bar_bg_on);
         final TextView title = (TextView) mPreferenceViewHolder.findViewById(android.R.id.title);
         assertThat(title.getAlpha()).isEqualTo(1f);
         assertThat(title.getCurrentTextColor()).isEqualTo(textColorEnabled);
diff --git a/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java
index 2633a2c..a7a7f8f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java
@@ -51,6 +51,7 @@
         mContext = ApplicationProvider.getApplicationContext();
         mController = new LiveCaptionPreferenceController(mContext, "test_key");
         mLiveCaptionPreference = new Preference(mContext);
+        mLiveCaptionPreference.setSummary(R.string.live_caption_summary);
     }
 
     @Test
@@ -78,10 +79,7 @@
         mController.updateState(mLiveCaptionPreference);
 
         assertThat(mLiveCaptionPreference.getSummary().toString()).isEqualTo(
-                mContext.getString(
-                        R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.live_caption_enabled),
-                        mContext.getText(R.string.live_caption_summary))
+                mContext.getString(R.string.live_caption_summary)
         );
     }
 
@@ -92,10 +90,7 @@
         mController.updateState(mLiveCaptionPreference);
 
         assertThat(mLiveCaptionPreference.getSummary()).isEqualTo(
-                mContext.getString(
-                        R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.live_caption_disabled),
-                        mContext.getText(R.string.live_caption_summary))
+                mContext.getString(R.string.live_caption_summary)
         );
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java
index f071918..62ff39b 100644
--- a/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java
@@ -74,7 +74,7 @@
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final PreferenceManager preferenceManager = new PreferenceManager(mContext);
         mScreen = preferenceManager.createPreferenceScreen(mContext);
         mModePreference = new Preference(mContext);
diff --git a/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java
index 1cea056..66ce02b 100644
--- a/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java
@@ -43,7 +43,6 @@
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor;
 import com.android.settings.widget.LabeledSeekBarPreference;
-import com.android.settings.widget.SeekBarPreference;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -91,7 +90,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mFragment = spy(new TestFragment());
         when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
         when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java
index 0e67b17..50a33f3 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java
@@ -71,7 +71,7 @@
 
     @Before
     public void setUp() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
 
         mFragment = spy(new TextReadingPreferenceFragment());
         when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index 70af213..2909ea7 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -114,7 +114,7 @@
         final PreferenceScreen screen = spy(new PreferenceScreen(mContext, null));
         when(screen.getPreferenceManager()).thenReturn(mPreferenceManager);
         doReturn(screen).when(mFragment).getPreferenceScreen();
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
index 2eac785..fb1b8b9 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
@@ -494,28 +494,23 @@
     }
 
     @Test
-    public void getSummary_magnificationEnabled_returnShortcutOnWithSummary() {
+    public void getSummary_magnificationEnabled_returnShortcutOn() {
         setMagnificationTripleTapEnabled(true);
 
         assertThat(
                 ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
                 .isEqualTo(
-                        mContext.getString(R.string.preference_summary_default_combination,
-                                mContext.getString(R.string.accessibility_summary_shortcut_enabled),
-                                mContext.getText(R.string.magnification_feature_summary)));
+                        mContext.getString(R.string.accessibility_summary_shortcut_enabled));
     }
 
     @Test
-    public void getSummary_magnificationDisabled_returnShortcutOffWithSummary() {
+    public void getSummary_magnificationDisabled_returnShortcutOff() {
         setMagnificationTripleTapEnabled(false);
 
         assertThat(
                 ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
                 .isEqualTo(
-                        mContext.getString(R.string.preference_summary_default_combination,
-                                mContext.getString(
-                                        R.string.generic_accessibility_feature_shortcut_off),
-                                mContext.getText(R.string.magnification_feature_summary)));
+                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off));
     }
 
     private void putStringIntoSettings(String key, String componentName) {
@@ -559,7 +554,7 @@
     }
 
     private AlertDialog createEditShortcutDialog(Context context) {
-        context.setTheme(R.style.Theme_AppCompat);
+        context.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         return AccessibilityDialogUtils.showEditShortcutDialog(
                 context,
                 DialogType.EDIT_SHORTCUT_MAGNIFICATION, PLACEHOLDER_DIALOG_TITLE,
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
index 8fb40bf..b3d1ff7 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
@@ -72,7 +72,8 @@
         MockitoAnnotations.initMocks(this);
         FakeFeatureFactory.setupForTest();
         mHeaderPreference = new LayoutPreference(
-                RuntimeEnvironment.application, R.layout.settings_entity_header);
+                RuntimeEnvironment.application,
+                com.android.settingslib.widget.R.layout.settings_entity_header);
         doReturn(RuntimeEnvironment.application).when(mActivity).getApplicationContext();
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
index c5ed459..b12c8db 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
@@ -76,7 +76,8 @@
         mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
-        mHeader = LayoutInflater.from(mContext).inflate(R.layout.settings_entity_header, null);
+        mHeader = LayoutInflater.from(mContext).inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null);
 
         when(mFragment.getActivity()).thenReturn(mActivity);
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceControllerTest.java
index deb5a3f..ada7ef2 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceControllerTest.java
@@ -37,7 +37,6 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.os.UserManager;
 
 import androidx.preference.Preference;
 
@@ -55,8 +54,6 @@
 public class AppInstallerInfoPreferenceControllerTest {
 
     @Mock
-    private UserManager mUserManager;
-    @Mock
     private PackageManager mPackageManager;
     @Mock
     private ApplicationInfo mAppInfo;
@@ -74,7 +71,6 @@
     public void setUp() throws PackageManager.NameNotFoundException {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         final String installerPackage = "Installer1";
         when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
@@ -87,17 +83,7 @@
     }
 
     @Test
-    public void getAvailabilityStatus_managedProfile_shouldReturnDisabled() {
-        when(mUserManager.isManagedProfile()).thenReturn(true);
-
-        assertThat(mController.getAvailabilityStatus())
-                .isEqualTo(BasePreferenceController.DISABLED_FOR_USER);
-    }
-
-    @Test
     public void getAvailabilityStatus_noAppLabel_shouldReturnDisabled() {
-        when(mUserManager.isManagedProfile()).thenReturn(false);
-
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.DISABLED_FOR_USER);
     }
@@ -106,7 +92,6 @@
     public void getAvailabilityStatus_hasAppLabel_shouldReturnAvailable()
             throws PackageManager.NameNotFoundException {
         final String packageName = "Package1";
-        when(mUserManager.isManagedProfile()).thenReturn(false);
         when(mAppInfo.loadLabel(mPackageManager)).thenReturn("Label1");
         mController = new AppInstallerInfoPreferenceController(mContext, "test_key");
         mController.setPackageName(packageName);
@@ -161,7 +146,6 @@
     public void getAvailabilityStatus_isMainlineModule_shouldReturnDisabled()
             throws PackageManager.NameNotFoundException {
         final String packageName = "Package";
-        when(mUserManager.isManagedProfile()).thenReturn(false);
         when(mAppInfo.loadLabel(mPackageManager)).thenReturn("Label");
         mController.setPackageName(packageName);
         mockMainlineModule(packageName, true /* isMainlineModule */);
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/ApplicationViewHolderTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/ApplicationViewHolderTest.java
index 1311fe2..b203d87 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/ApplicationViewHolderTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/ApplicationViewHolderTest.java
@@ -28,7 +28,6 @@
 import android.view.View;
 import android.widget.FrameLayout;
 
-import com.android.settings.R;
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
@@ -61,7 +60,8 @@
         info.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED;
         mHolder.updateDisableView(info);
 
-        assertThat(mHolder.mDisabled.getText()).isEqualTo(mContext.getText(R.string.disabled));
+        assertThat(mHolder.mDisabled.getText())
+                .isEqualTo(mContext.getText(com.android.settingslib.R.string.disabled));
     }
 
     @Test
@@ -69,8 +69,9 @@
         mHolder.setSummary("hello");
         assertThat(mHolder.mSummary.getText()).isEqualTo("hello");
 
-        mHolder.setSummary(R.string.disabled);
-        assertThat(mHolder.mSummary.getText()).isEqualTo(mContext.getText(R.string.disabled));
+        mHolder.setSummary(com.android.settingslib.R.string.disabled);
+        assertThat(mHolder.mSummary.getText())
+                .isEqualTo(mContext.getText(com.android.settingslib.R.string.disabled));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
index 910fbed..0622948 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
@@ -105,7 +105,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mAppReset = new RoboMenuItem(R.id.reset_app_preferences);
         mSortRecent = new RoboMenuItem(R.id.sort_order_recent_notification);
         mSortFrequent = new RoboMenuItem(R.id.sort_order_frequent_notification);
diff --git a/tests/robotests/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceControllerTest.java
index 4917a85..aeef8ec 100644
--- a/tests/robotests/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceControllerTest.java
@@ -30,7 +30,6 @@
 import android.content.pm.verify.domain.DomainVerificationManager;
 import android.content.pm.verify.domain.DomainVerificationUserState;
 
-import com.android.settings.R;
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
@@ -72,7 +71,8 @@
         doReturn(true).when(domainVerificationUserState).isLinkHandlingAllowed();
         final DomainAppPreference pref = new DomainAppPreference(mContext, mAppEntry);
 
-        assertThat(pref.getLayoutResource()).isEqualTo(R.layout.preference_app);
+        assertThat(pref.getLayoutResource())
+                .isEqualTo(com.android.settingslib.widget.R.layout.preference_app);
     }
 
     private ApplicationInfo createApplicationInfo(String packageName) {
diff --git a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
index 2ce0757..4781f56 100644
--- a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
@@ -43,6 +43,7 @@
 import android.hardware.fingerprint.FingerprintManager;
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
 import android.os.Bundle;
+import android.util.AndroidRuntimeException;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -58,7 +59,10 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.biometrics.BiometricStatusPreferenceController;
 import com.android.settings.biometrics.BiometricsSplitScreenDialog;
+import com.android.settings.biometrics.face.FaceStatusPreferenceController;
+import com.android.settings.biometrics.fingerprint.FingerprintStatusPreferenceController;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowFragment;
@@ -68,7 +72,6 @@
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -86,7 +89,6 @@
 import java.util.List;
 import java.util.Map;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowSettingsPreferenceFragment.class, ShadowUtils.class, ShadowFragment.class})
 public class CombinedBiometricProfileSettingsTest {
@@ -104,6 +106,10 @@
     @Mock
     private BiometricSettingsAppPreferenceController mBiometricSettingsAppPreferenceController;
     @Mock
+    private FingerprintStatusPreferenceController mFingerprintStatusPreferenceController;
+    @Mock
+    private FaceStatusPreferenceController mFaceStatusPreferenceController;
+    @Mock
     private FaceManager mFaceManager;
     @Mock
     private FragmentTransaction mFragmentTransaction;
@@ -128,6 +134,29 @@
         List<AbstractPreferenceController> controllerList = new ArrayList<>();
         controllerList.add(mBiometricSettingsAppPreferenceController);
         preferenceControllers.put(BiometricSettingsAppPreferenceController.class, controllerList);
+        controllerList.add(mFingerprintStatusPreferenceController);
+        preferenceControllers.put(FingerprintStatusPreferenceController.class, controllerList);
+        controllerList.add(mFaceStatusPreferenceController);
+        preferenceControllers.put(FaceStatusPreferenceController.class, controllerList);
+
+        doAnswer(invocation -> {
+            final Preference preference = invocation.getArgument(0);
+            return preference.getKey().equals(mFragment.getFingerprintPreferenceKey());
+        }).when(mFingerprintStatusPreferenceController)
+                .setPreferenceTreeClickLauncher(any(), any());
+        doAnswer(invocation -> {
+            final Preference preference = invocation.getArgument(0);
+            return preference.getKey().equals(mFragment.getFingerprintPreferenceKey());
+        }).when(mFingerprintStatusPreferenceController).handlePreferenceTreeClick(any());
+        doAnswer(invocation -> {
+            final Preference preference = invocation.getArgument(0);
+            return preference.getKey().equals(mFragment.getFacePreferenceKey());
+        }).when(mFaceStatusPreferenceController)
+                .setPreferenceTreeClickLauncher(any(), any());
+        doAnswer(invocation -> {
+            final Preference preference = invocation.getArgument(0);
+            return preference.getKey().equals(mFragment.getFacePreferenceKey());
+        }).when(mFaceStatusPreferenceController).handlePreferenceTreeClick(any());
 
         doAnswer(invocation -> {
             final CharSequence key = invocation.getArgument(0);
@@ -164,7 +193,7 @@
         preference.setKey(mFragment.getFingerprintPreferenceKey());
         mFragment.onPreferenceTreeClick(preference);
 
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+        verify(mFingerprintStatusPreferenceController).handlePreferenceTreeClick(
                 mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
 
@@ -224,7 +253,7 @@
         mFragment.onActivityResult(CONFIRM_REQUEST, RESULT_FINISHED,
                 new Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L));
 
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+        verify(mFingerprintStatusPreferenceController).handlePreferenceTreeClick(
                 mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
         assertThat(capturedPreferences.size()).isEqualTo(1);
@@ -254,7 +283,7 @@
         preference.setKey(mFragment.getFacePreferenceKey());
         mFragment.onPreferenceTreeClick(preference);
 
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+        verify(mFaceStatusPreferenceController).handlePreferenceTreeClick(
                 mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
         assertThat(capturedPreferences.size()).isEqualTo(1);
@@ -313,7 +342,7 @@
         preference.setKey(mFragment.getFacePreferenceKey());
         mFragment.onPreferenceTreeClick(preference);
 
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
+        verify(mFaceStatusPreferenceController).handlePreferenceTreeClick(
                 mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
         assertThat(capturedPreferences.size()).isEqualTo(1);
@@ -323,7 +352,7 @@
     @Test
     public void testClickFingerprintUnlock_inMultiWindow_withoutEnrolledFp_showsDialog() {
         testClickFingerprintUnlock(true /* isInMultiWindow */, false /* hasEnrolledFingerprint */);
-        verifyShowsDialogAfterClickingUnlock();
+        verifyShowsDialogAfterClickingUnlock(mFragment.getFingerprintPreferenceKey());
     }
 
     @Test
@@ -380,7 +409,7 @@
     @Test
     public void testClickFaceUnlock_inMultiWindow_withoutEnrolledFp_showsDialog() {
         testClickFaceUnlock(true /* isInMultiWindow */, false /*hasEnrolledFace*/);
-        verifyShowsDialogAfterClickingUnlock();
+        verifyShowsDialogAfterClickingUnlock(mFragment.getFacePreferenceKey());
     }
 
     @Test
@@ -424,8 +453,11 @@
     }
 
     private void verifyNoDialogAfterClickingUnlock(String preferenceKey) {
-        verify(mBiometricSettingsAppPreferenceController).handlePreferenceTreeClick(
-                mPreferenceCaptor.capture());
+        final BiometricStatusPreferenceController controller =
+                preferenceKey.equals(mFragment.getFacePreferenceKey())
+                        ? mFaceStatusPreferenceController
+                        : mFingerprintStatusPreferenceController;
+        verify(controller).handlePreferenceTreeClick(mPreferenceCaptor.capture());
         List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
         assertThat(capturedPreferences).hasSize(1);
         assertThat(capturedPreferences.get(0).getKey()).isEqualTo(preferenceKey);
@@ -433,12 +465,77 @@
                 eq(BiometricsSplitScreenDialog.class.getName()));
     }
 
-    private void verifyShowsDialogAfterClickingUnlock() {
-        verify(mBiometricSettingsAppPreferenceController, never()).handlePreferenceTreeClick(any());
+    private void verifyShowsDialogAfterClickingUnlock(String preferenceKey) {
+        final BiometricStatusPreferenceController controller =
+                preferenceKey.equals(mFragment.getFacePreferenceKey())
+                        ? mFaceStatusPreferenceController
+                        : mFingerprintStatusPreferenceController;
+        verify(controller, never()).handlePreferenceTreeClick(any());
         verify(mFragmentTransaction).add(any(),
                 eq(BiometricsSplitScreenDialog.class.getName()));
     }
 
+    @Test
+    public void testNoCrashIfDetachActivityDuringGeneratingChallengeThroughFaceManager() {
+        doAnswer(invocation -> {
+            final FaceManager.GenerateChallengeCallback callback =
+                    invocation.getArgument(1);
+            mFragment.onPause();
+            mFragment.onStop();
+            mFragment.onDestroy();
+            mFragment.onDetach();
+            doReturn(null).when(mFragment).getActivity();
+            callback.onGenerateChallengeResult(0, 0, 1L);
+            return null;
+        }).when(mFaceManager).generateChallenge(anyInt(), any());
+        doThrow(new IllegalStateException("Test")).when(mFragment).requestGatekeeperHat(
+                any(), anyLong(), anyInt(), anyLong());
+        FragmentManager fragmentManager = mock(FragmentManager.class);
+
+        // Start fragment
+        mFragment.onAttach(mContext);
+        mFragment.onCreate(null);
+        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+        mFragment.onResume();
+
+        // User clicks on "Face Unlock"
+        final Preference preference = new Preference(mContext);
+        preference.setKey(mFragment.getFacePreferenceKey());
+        mFragment.onPreferenceTreeClick(preference);
+
+        verify(mFragment, never()).launchChooseOrConfirmLock();
+    }
+
+    @Test
+    public void testNoCrashIfDetachActivityDuringGeneratingChallengeThroughFingerprintManager() {
+        doAnswer(invocation -> {
+            final FingerprintManager.GenerateChallengeCallback callback =
+                    invocation.getArgument(1);
+            mFragment.onPause();
+            mFragment.onStop();
+            mFragment.onDestroy();
+            mFragment.onDetach();
+            doReturn(null).when(mFragment).getActivity();
+            callback.onChallengeGenerated(0, 0, 1L);
+            return null;
+        }).when(mFingerprintManager).generateChallenge(anyInt(), any());
+        doThrow(new IllegalStateException("Test")).when(mFragment).requestGatekeeperHat(
+                any(), anyLong(), anyInt(), anyLong());
+
+        // Start fragment
+        mFragment.onAttach(mContext);
+        mFragment.onCreate(null);
+        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+        mFragment.onResume();
+
+        // User clicks on "Fingerprint Unlock"
+        final Preference preference = new Preference(mContext);
+        preference.setKey(mFragment.getFingerprintPreferenceKey());
+        mFragment.onPreferenceTreeClick(preference);
+
+        verify(mFragment, never()).launchChooseOrConfirmLock();
+    }
+
     /**
      * a test fragment that initializes PreferenceScreen for testing.
      */
@@ -492,7 +589,9 @@
 
         @Override
         protected void launchChooseOrConfirmLock() {
-            // do nothing
+            if (getActivity() == null) {
+                throw new AndroidRuntimeException("TestFailed");
+            }
         }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
index df15e5c..3165d05 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
@@ -385,7 +385,8 @@
     @Test
     public void testFaceEnrollIntroduction_hasBottomScrollView() {
         setupActivity();
-        BottomScrollView scrollView = getGlifLayout(mActivity).findViewById(R.id.sud_scroll_view);
+        BottomScrollView scrollView = getGlifLayout(mActivity)
+                .findViewById(com.google.android.setupdesign.R.id.sud_scroll_view);
 
         assertThat(scrollView).isNotNull();
         assertThat(scrollView.getVisibility()).isEqualTo(View.VISIBLE);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
index df74395..a048f88 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
@@ -54,10 +54,11 @@
     public void setUp() {
         super.setUp();
         final View buttons = View.inflate(
-                RuntimeEnvironment.application, R.layout.settingslib_action_buttons,
+                RuntimeEnvironment.application,
+                com.android.settingslib.widget.R.layout.settingslib_action_buttons,
                 null /* parent */);
-        mConnectButton = buttons.findViewById(R.id.button2);
-        mForgetButton = buttons.findViewById(R.id.button1);
+        mConnectButton = buttons.findViewById(com.android.settingslib.widget.R.id.button2);
+        mForgetButton = buttons.findViewById(com.android.settingslib.widget.R.id.button1);
         mController =
                 new BluetoothDetailsButtonsController(mContext, mFragment, mCachedDevice,
                         mLifecycle);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
index e27f43c..120274d 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
@@ -104,6 +104,7 @@
                 associationId,
                 /* userId */ 0,
                 packageName,
+                /* tag */ null,
                 MacAddress.fromString(mCachedDevice.getAddress()),
                 /* displayName */ null,
                 /* deviceProfile */ "",
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java
index 08f7084..12ea9b2 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java
@@ -29,7 +29,6 @@
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -140,7 +139,8 @@
                 .setAddress("B4:B0:34:B5:3B:1B")
                 .setMajorDeviceClass(BluetoothClass.Device.Major.AUDIO_VIDEO)
                 .setConnected(true)
-                .setConnectionSummary(mContext.getString(R.string.bluetooth_connected));
+                .setConnectionSummary(
+                        mContext.getString(com.android.settingslib.R.string.bluetooth_connected));
     }
 
     /**
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
index a28c4f5..8be8b18 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
@@ -26,7 +26,6 @@
 import android.bluetooth.BluetoothDevice;
 import android.graphics.drawable.Drawable;
 
-import com.android.settings.R;
 import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
@@ -73,7 +72,8 @@
         mController =
             new BluetoothDetailsHeaderController(mContext, mFragment, mCachedDevice, mLifecycle,
                 mBluetoothManager);
-        mPreference = new LayoutPreference(mContext, R.layout.settings_entity_header);
+        mPreference = new LayoutPreference(
+                mContext, com.android.settingslib.widget.R.layout.settings_entity_header);
         mPreference.setKey(mController.getPreferenceKey());
         mScreen.addPreference(mPreference);
         setupDevice(mDeviceConfig);
@@ -91,7 +91,8 @@
      */
     @Test
     public void testContextMock() {
-        assertThat(mContext.getString(R.string.bluetooth_connected)).isNotNull();
+        assertThat(mContext.getString(com.android.settingslib.R.string.bluetooth_connected))
+                .isNotNull();
     }
 
     @Test
@@ -110,20 +111,20 @@
     public void connectionStatusChangesWhileScreenOpen() {
         InOrder inOrder = inOrder(mHeaderController);
         when(mCachedDevice.getConnectionSummary())
-            .thenReturn(mContext.getString(R.string.bluetooth_connected));
+            .thenReturn(mContext.getString(com.android.settingslib.R.string.bluetooth_connected));
         showScreen(mController);
         inOrder.verify(mHeaderController)
-            .setSummary(mContext.getString(R.string.bluetooth_connected));
+            .setSummary(mContext.getString(com.android.settingslib.R.string.bluetooth_connected));
 
         when(mCachedDevice.getConnectionSummary()).thenReturn(null);
         mController.onDeviceAttributesChanged();
         inOrder.verify(mHeaderController).setSummary((CharSequence) null);
 
         when(mCachedDevice.getConnectionSummary())
-            .thenReturn(mContext.getString(R.string.bluetooth_connecting));
+            .thenReturn(mContext.getString(com.android.settingslib.R.string.bluetooth_connecting));
         mController.onDeviceAttributesChanged();
         inOrder.verify(mHeaderController)
-            .setSummary(mContext.getString(R.string.bluetooth_connecting));
+            .setSummary(mContext.getString(com.android.settingslib.R.string.bluetooth_connecting));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
index 3bc9a05..76023c5 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
@@ -33,7 +33,6 @@
 import androidx.preference.PreferenceCategory;
 import androidx.preference.SwitchPreference;
 
-import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowBluetoothDevice;
 import com.android.settingslib.bluetooth.A2dpProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -219,15 +218,15 @@
 
     @Test
     public void oneProfile() {
-        addFakeProfile(R.string.bluetooth_profile_a2dp, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_a2dp, true);
         showScreen(mController);
         verifyProfileSwitchTitles(getProfileSwitches(true));
     }
 
     @Test
     public void multipleProfiles() {
-        addFakeProfile(R.string.bluetooth_profile_a2dp, true);
-        addFakeProfile(R.string.bluetooth_profile_headset, false);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_a2dp, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_headset, false);
         showScreen(mController);
         List<SwitchPreference> switches = getProfileSwitches(true);
         verifyProfileSwitchTitles(switches);
@@ -252,8 +251,8 @@
 
     @Test
     public void disableThenReenableOneProfile() {
-        addFakeProfile(R.string.bluetooth_profile_a2dp, true);
-        addFakeProfile(R.string.bluetooth_profile_headset, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_a2dp, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_headset, true);
         showScreen(mController);
         List<SwitchPreference> switches = getProfileSwitches(true);
         SwitchPreference pref = switches.get(0);
@@ -279,7 +278,7 @@
     @Test
     public void disconnectedDeviceOneProfile() {
         setupDevice(makeDefaultDeviceConfig().setConnected(false).setConnectionSummary(null));
-        addFakeProfile(R.string.bluetooth_profile_a2dp, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_a2dp, true);
         showScreen(mController);
         verifyProfileSwitchTitles(getProfileSwitches(true));
     }
@@ -289,7 +288,8 @@
         setupDevice(makeDefaultDeviceConfig());
         mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
         PbapServerProfile psp = mock(PbapServerProfile.class);
-        when(psp.getNameResource(mDevice)).thenReturn(R.string.bluetooth_profile_pbap);
+        when(psp.getNameResource(mDevice))
+                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_pbap);
         when(psp.toString()).thenReturn(PbapServerProfile.NAME);
         when(psp.isProfileReady()).thenReturn(true);
         when(mProfileManager.getPbapProfile()).thenReturn(psp);
@@ -298,7 +298,8 @@
         List<SwitchPreference> switches = getProfileSwitches(false);
         assertThat(switches.size()).isEqualTo(1);
         SwitchPreference pref = switches.get(0);
-        assertThat(pref.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_profile_pbap));
+        assertThat(pref.getTitle()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_profile_pbap));
         assertThat(pref.isChecked()).isTrue();
 
         pref.performClick();
@@ -312,7 +313,8 @@
         setupDevice(makeDefaultDeviceConfig());
         mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_REJECTED);
         PbapServerProfile psp = mock(PbapServerProfile.class);
-        when(psp.getNameResource(mDevice)).thenReturn(R.string.bluetooth_profile_pbap);
+        when(psp.getNameResource(mDevice))
+                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_pbap);
         when(psp.toString()).thenReturn(PbapServerProfile.NAME);
         when(psp.isProfileReady()).thenReturn(true);
         when(mProfileManager.getPbapProfile()).thenReturn(psp);
@@ -321,7 +323,8 @@
         List<SwitchPreference> switches = getProfileSwitches(false);
         assertThat(switches.size()).isEqualTo(1);
         SwitchPreference pref = switches.get(0);
-        assertThat(pref.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_profile_pbap));
+        assertThat(pref.getTitle()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_profile_pbap));
         assertThat(pref.isChecked()).isFalse();
 
         pref.performClick();
@@ -334,7 +337,8 @@
     public void mapProfile() {
         setupDevice(makeDefaultDeviceConfig());
         MapProfile mapProfile = mock(MapProfile.class);
-        when(mapProfile.getNameResource(mDevice)).thenReturn(R.string.bluetooth_profile_map);
+        when(mapProfile.getNameResource(mDevice))
+                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_map);
         when(mapProfile.isProfileReady()).thenReturn(true);
         when(mProfileManager.getMapProfile()).thenReturn(mapProfile);
         when(mProfileManager.getProfileByName(eq(mapProfile.toString()))).thenReturn(mapProfile);
@@ -343,7 +347,8 @@
         List<SwitchPreference> switches = getProfileSwitches(false);
         assertThat(switches.size()).isEqualTo(1);
         SwitchPreference pref = switches.get(0);
-        assertThat(pref.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_profile_map));
+        assertThat(pref.getTitle()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_profile_map));
         assertThat(pref.isChecked()).isFalse();
 
         pref.performClick();
@@ -355,9 +360,11 @@
             boolean highQualityAudioEnabled) {
         A2dpProfile profile = mock(A2dpProfile.class);
         when(mProfileManager.getProfileByName(eq(profile.toString()))).thenReturn(profile);
-        when(profile.getNameResource(mDevice)).thenReturn(R.string.bluetooth_profile_a2dp);
+        when(profile.getNameResource(mDevice))
+                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_a2dp);
         when(profile.getHighQualityAudioOptionLabel(mDevice)).thenReturn(
-            mContext.getString(R.string.bluetooth_profile_a2dp_high_quality_unknown_codec));
+                mContext.getString(com.android.settingslib.R
+                        .string.bluetooth_profile_a2dp_high_quality_unknown_codec));
         when(profile.supportsHighQualityAudio(mDevice)).thenReturn(supportsHighQualityAudio);
         when(profile.isHighQualityAudioEnabled(mDevice)).thenReturn(highQualityAudioEnabled);
         when(profile.isEnabled(mDevice)).thenReturn(preferred);
@@ -397,7 +404,8 @@
         SwitchPreference pref = (SwitchPreference) mProfiles.getPreference(0);
         assertThat(pref.getKey())
             .isNotEqualTo(BluetoothDetailsProfilesController.HIGH_QUALITY_AUDIO_PREF_TAG);
-        assertThat(pref.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_profile_a2dp));
+        assertThat(pref.getTitle()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_profile_a2dp));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
index 517b435..2044881 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
@@ -33,7 +33,6 @@
 import android.text.TextUtils;
 import android.view.View;
 import android.view.inputmethod.InputMethodManager;
-import android.widget.CheckBox;
 import android.widget.TextView;
 
 import androidx.appcompat.app.AlertDialog;
@@ -276,7 +275,7 @@
     }
 
     @Test
-    public void contactSharingCheckbox_conditionIsReady_showsUi() {
+    public void contactSharingToggle_conditionIsReady_showsUi() {
         // set the dialog variant to confirmation/consent
         when(controller.getDialogType()).thenReturn(BluetoothPairingController.CONFIRMATION_DIALOG);
         // set a fake device name and pretend the profile has not been set up for it
@@ -286,14 +285,14 @@
         // build the fragment
         BluetoothPairingDialogFragment frag = makeFragment();
 
-        // verify that the checkbox is visible and that the device name is correct
-        CheckBox sharingCheckbox =
-                frag.getmDialog().findViewById(R.id.phonebook_sharing_message_confirm_pin);
-        assertThat(sharingCheckbox.getVisibility()).isEqualTo(View.VISIBLE);
+        // verify that the toggle is visible
+        View sharingToggle =
+                frag.getmDialog().findViewById(R.id.phonebook_sharing);
+        assertThat(sharingToggle.getVisibility()).isEqualTo(View.VISIBLE);
     }
 
     @Test
-    public void contactSharingCheckbox_conditionIsNotReady_doesNotShowUi() {
+    public void contactSharingToggle_conditionIsNotReady_doesNotShowUi() {
         // set the dialog variant to confirmation/consent
         when(controller.getDialogType()).thenReturn(BluetoothPairingController.CONFIRMATION_DIALOG);
         // set a fake device name and pretend the profile has been set up for it
@@ -303,10 +302,10 @@
         // build the fragment
         BluetoothPairingDialogFragment frag = makeFragment();
 
-        // verify that the checkbox is gone
-        CheckBox sharingCheckbox =
-                frag.getmDialog().findViewById(R.id.phonebook_sharing_message_confirm_pin);
-        assertThat(sharingCheckbox.getVisibility()).isEqualTo(View.GONE);
+        // verify that the toggle is gone
+        View sharingToggle =
+                frag.getmDialog().findViewById(R.id.phonebook_sharing);
+        assertThat(sharingToggle.getVisibility()).isEqualTo(View.GONE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSummaryUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSummaryUpdaterTest.java
index 2aca4a3..58f5a06 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSummaryUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSummaryUpdaterTest.java
@@ -260,7 +260,8 @@
         mSummaryUpdater.onConnectionStateChanged(null /* device */,
                 BluetoothAdapter.STATE_CONNECTING);
 
-        verify(mListener).onSummaryChanged(mContext.getString(R.string.bluetooth_connecting));
+        verify(mListener).onSummaryChanged(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_connecting));
     }
 
     @Test
@@ -272,7 +273,8 @@
         mSummaryUpdater.onConnectionStateChanged(null /* device */,
                 BluetoothAdapter.STATE_DISCONNECTING);
 
-        verify(mListener).onSummaryChanged(mContext.getString(R.string.bluetooth_disconnecting));
+        verify(mListener).onSummaryChanged(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_disconnecting));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
index 3c459de..b521be1 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
@@ -57,6 +57,7 @@
 
 import com.android.settings.R;
 import com.android.settings.dashboard.profileselector.UserAdapter;
+import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -330,7 +331,7 @@
 
     @Test
     public void defaultNotesPreferenceClick_multiUserManagedProfile_showsProfileSelectorDialog() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final String permissionPackageName = "permissions.package";
         final UserHandle currentUser = Process.myUserHandle();
         List<UserInfo> userInfos = Arrays.asList(
@@ -354,7 +355,7 @@
     @Test
     public void defaultNotesPreferenceClick_noManagedProfile_sendsManageDefaultRoleIntent() {
         final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final String permissionPackageName = "permissions.package";
         final UserHandle currentUser = Process.myUserHandle();
         List<UserInfo> userInfos = Arrays.asList(
@@ -403,9 +404,10 @@
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED, 1);
 
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
-        assertThat(handwritingPref.isChecked()).isEqualTo(true);
+        assertThat(handwritingPref.getCheckedState()).isEqualTo(true);
     }
 
     @Test
@@ -414,9 +416,10 @@
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED, 0);
 
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
-        assertThat(handwritingPref.isChecked()).isEqualTo(false);
+        assertThat(handwritingPref.getCheckedState()).isEqualTo(false);
     }
 
     @Test
@@ -424,21 +427,20 @@
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED, 0);
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
-        handwritingPref.performClick();
+        handwritingPref.callChangeListener(true);
 
-        assertThat(handwritingPref.isChecked()).isEqualTo(true);
         assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED, -1)).isEqualTo(1);
     }
 
     @Test
-    public void handwritingPreference_startsHandwritingSettingsOnClickIfChecked() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.STYLUS_HANDWRITING_ENABLED, 0);
+    public void handwritingPreference_startsHandwritingSettingsOnClick() {
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
         handwritingPref.performClick();
 
@@ -447,11 +449,23 @@
     }
 
     @Test
-    public void handwritingPreference_doesNotStartHandwritingSettingsOnClickIfNotChecked() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.STYLUS_HANDWRITING_ENABLED, 1);
+    public void handwritingPreference_doesNotStartHandwritingSettingsOnChange() {
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
+
+        handwritingPref.callChangeListener(true);
+
+        verify(mInputMethodInfo, times(0)).createStylusHandwritingSettingsActivityIntent();
+        verify(mContext, times(0)).startActivity(any());
+    }
+
+    @Test
+    public void handwritingPreference_doesNotCreateIntentIfNoInputMethod() {
+        when(mImm.getCurrentInputMethodInfo()).thenReturn(null);
+        showScreen(mController);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
         handwritingPref.performClick();
 
@@ -463,14 +477,12 @@
     public void handwritingPreference_doesNotStartHandwritingSettingsIfNoIntent() {
         when(mInputMethodInfo.createStylusHandwritingSettingsActivityIntent())
                 .thenReturn(null);
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.STYLUS_HANDWRITING_ENABLED, 1);
         showScreen(mController);
-        SwitchPreference handwritingPref = (SwitchPreference) mPreferenceContainer.getPreference(1);
+        PrimarySwitchPreference handwritingPref =
+                (PrimarySwitchPreference) mPreferenceContainer.getPreference(1);
 
         handwritingPref.performClick();
 
-        verify(mInputMethodInfo, times(0)).createStylusHandwritingSettingsActivityIntent();
         verify(mContext, times(0)).startActivity(any());
     }
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java
index 280b8d4..2b0ac7f 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java
@@ -26,7 +26,6 @@
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.hardware.usb.UsbManager;
-import android.hardware.usb.UsbPort;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.LifecycleOwner;
@@ -91,7 +90,8 @@
 
         ShadowEntityHeaderController.setUseMock(mHeaderController);
         mDetailsHeaderController = new UsbDetailsHeaderController(mContext, mFragment, mUsbBackend);
-        mPreference = new LayoutPreference(mContext, R.layout.settings_entity_header);
+        mPreference = new LayoutPreference(
+                mContext, com.android.settingslib.widget.R.layout.settings_entity_header);
         mPreference.setKey(mDetailsHeaderController.getPreferenceKey());
         mScreen.addPreference(mPreference);
     }
diff --git a/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java b/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
index 1a794e1..b1aa321 100644
--- a/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
@@ -27,11 +27,8 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
-import android.content.res.XmlResourceParser;
 import android.os.Bundle;
 import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.util.Xml;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
@@ -42,12 +39,10 @@
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
-import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
 import java.util.List;
-import java.util.Objects;
 
 /**
  * These tests use a series of preferences that have specific attributes which are sometimes
@@ -68,115 +63,6 @@
     }
 
     @Test
-    public void testDataTitleValid_ReturnsPreferenceTitle() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.darkmode.DarkModePreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String title = PreferenceXmlParserUtils.getDataTitle(mContext, attrs);
-        String expTitle = mContext.getString(R.string.dark_ui_mode);
-        assertThat(title).isEqualTo(expTitle);
-    }
-
-    @Test
-    public void testDataKeywordsValid_ReturnsPreferenceKeywords() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.darkmode.DarkModePreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String keywords = PreferenceXmlParserUtils.getDataKeywords(mContext, attrs);
-        String expKeywords = mContext.getString(R.string.keywords_dark_ui_mode);
-        assertThat(keywords).isEqualTo(expKeywords);
-    }
-
-    @Test
-    public void testDataKeyValid_ReturnsPreferenceKey() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.darkmode.DarkModePreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String key = PreferenceXmlParserUtils.getDataKey(mContext, attrs);
-        String expKey = "dark_ui_mode";
-        assertThat(key).isEqualTo(expKey);
-    }
-
-    @Test
-    public void testDataSummaryValid_ReturnsPreferenceSummary() {
-        XmlResourceParser parser = getChildByType(R.xml.sound_settings,
-                "com.android.settings.DefaultRingtonePreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String summary = PreferenceXmlParserUtils.getDataSummary(mContext, attrs);
-        String expSummary = mContext.getString(R.string.summary_placeholder);
-        assertThat(summary).isEqualTo(expSummary);
-    }
-
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testDataSummaryOnOffValid_ReturnsPreferenceSummaryOnOff() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings, "CheckBoxPreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-
-        assertThat(PreferenceXmlParserUtils.getDataSummaryOn(mContext, attrs))
-                .isEqualTo("summary_on");
-        assertThat(PreferenceXmlParserUtils.getDataSummaryOff(mContext, attrs))
-                .isEqualTo("summary_off");
-    }
-
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testDataEntriesValid_ReturnsPreferenceEntries() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings, "ListPreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String entries = PreferenceXmlParserUtils.getDataEntries(mContext, attrs);
-        String[] expEntries = mContext.getResources()
-                .getStringArray(R.array.mvno_type_entries);
-        for (String expEntry : expEntries) {
-            assertThat(entries).contains(expEntry);
-        }
-    }
-
-    // Null checks
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testDataKeyInvalid_ReturnsNull() {
-        XmlResourceParser parser = getParentPrimedParser(R.xml.display_settings);
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String key = PreferenceXmlParserUtils.getDataKey(mContext, attrs);
-        assertThat(key).isNull();
-    }
-
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testControllerAttribute_returnsValidData() {
-        XmlResourceParser parser = getChildByType(R.xml.about_legal, "Preference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-
-        String controller = PreferenceXmlParserUtils.getController(mContext, attrs);
-        assertThat(controller).isEqualTo("mind_flayer");
-    }
-
-    @Test
-    public void testDataSummaryInvalid_ReturnsNull() {
-        XmlResourceParser parser = getParentPrimedParser(R.xml.display_settings);
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String summary = PreferenceXmlParserUtils.getDataSummary(mContext, attrs);
-        assertThat(summary).isNull();
-    }
-
-    @Test
-    public void testDataSummaryOffInvalid_ReturnsNull() {
-        XmlResourceParser parser = getParentPrimedParser(R.xml.display_settings);
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String summaryOff = PreferenceXmlParserUtils.getDataSummaryOff(mContext, attrs);
-        assertThat(summaryOff).isNull();
-    }
-
-    @Test
-    public void testDataEntriesInvalid_ReturnsNull() {
-        XmlResourceParser parser = getParentPrimedParser(R.xml.display_settings);
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String entries = PreferenceXmlParserUtils.getDataEntries(mContext, attrs);
-        assertThat(entries).isNull();
-    }
-
-    @Test
     public void extractHomepageMetadata_shouldContainKeyAndHighlightableMenuKey()
             throws IOException, XmlPullParserException {
         List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext,
@@ -380,46 +266,4 @@
         assertThat(bundleWithKey2Found).isTrue();
     }
 
-    /**
-     * @param resId the ID for the XML preference
-     * @return an XML resource parser that points to the start tag
-     */
-    private XmlResourceParser getParentPrimedParser(int resId) {
-        XmlResourceParser parser = null;
-        try {
-            parser = mContext.getResources().getXml(resId);
-
-            int type;
-            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-                    && type != XmlPullParser.START_TAG) {
-            }
-        } catch (Exception e) {
-
-        }
-        return parser;
-    }
-
-    private XmlResourceParser getChildByType(int resId, String xmlType) {
-        XmlResourceParser parser = null;
-        try {
-            parser = mContext.getResources().getXml(resId);
-
-            int type;
-            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-                    && type != XmlPullParser.START_TAG) {
-            }
-            while (true) {
-                if (Objects.equals(parser.getName(), xmlType)) {
-                    break;
-                }
-                final int nextEvent = parser.next();
-                if (nextEvent == XmlPullParser.END_DOCUMENT) {
-                    break;
-                }
-            }
-        } catch (Exception e) {
-
-        }
-        return parser;
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java b/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
index d701e48..4767bbc 100644
--- a/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
+++ b/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
@@ -5,7 +5,6 @@
 import android.content.Context;
 import android.content.res.XmlResourceParser;
 import android.provider.SearchIndexableResource;
-import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.util.Xml;
 
@@ -156,12 +155,6 @@
             if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
                 continue;
             }
-
-            controllerClassName = PreferenceXmlParserUtils.getController(mContext, attrs);
-            // If controller is not indexed, then it is not compatible with
-            if (!TextUtils.isEmpty(controllerClassName)) {
-                xmlControllers.add(controllerClassName);
-            }
         }
 
         return xmlControllers;
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
index a6bd865..d3634f0 100644
--- a/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
+++ b/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
@@ -43,9 +43,9 @@
     @Test
     public void getFactory_shouldReuseCachedInstance() {
         MetricsFeatureProvider feature1 =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         MetricsFeatureProvider feature2 =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         assertThat(feature1).isSameInstanceAs(feature2);
     }
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
index 9a13961..e7e37d7 100644
--- a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
@@ -35,7 +35,6 @@
 
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.R;
 import com.android.settingslib.drawer.ActivityTile;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.Tile;
@@ -144,14 +143,15 @@
 
     @Test
     public void createDialog_showsCorrectTitle() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
 
         Dialog dialog = ProfileSelectDialog.createDialog(mContext, Lists.newArrayList(NORMAL_USER),
                 (position) -> {
                 });
         dialog.show();
 
-        TextView titleView = dialog.findViewById(R.id.topPanel).findViewById(android.R.id.title);
+        TextView titleView = dialog.findViewById(com.google.android.material.R.id.topPanel)
+                .findViewById(android.R.id.title);
         assertThat(titleView.getText().toString()).isEqualTo(
                 mContext.getText(com.android.settingslib.R.string.choose_profile).toString());
     }
diff --git a/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java
index 84dc739..48b57a1 100644
--- a/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java
@@ -37,7 +37,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
 import com.android.settings.applications.AppStateBaseBridge;
 import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState;
 import com.android.settings.testutils.FakeFeatureFactory;
@@ -141,7 +140,8 @@
             } else if (testPkg2.equals(entry.info.packageName)) {
                 assertThat(preference.isDisabledByAdmin()).isTrue();
                 assertThat(preference.getSummary()).isEqualTo(
-                        mContext.getString(R.string.disabled_by_admin));
+                        mContext.getString(
+                                com.android.settingslib.widget.R.string.disabled_by_admin));
             }
             assertThat(preference.isChecked()).isFalse();
             preference.performClick();
diff --git a/tests/robotests/src/com/android/settings/datausage/lib/DataUsageLibTest.java b/tests/robotests/src/com/android/settings/datausage/lib/DataUsageLibTest.java
deleted file mode 100644
index fccef4f..0000000
--- a/tests/robotests/src/com/android/settings/datausage/lib/DataUsageLibTest.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (C) 2020 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.datausage.lib;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.net.NetworkTemplate;
-import android.os.ParcelUuid;
-import android.os.RemoteException;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class DataUsageLibTest {
-
-    private static final int SUB_ID = 1;
-    private static final int SUB_ID_2 = 2;
-    private static final String SUBSCRIBER_ID = "Test Subscriber";
-    private static final String SUBSCRIBER_ID_2 = "Test Subscriber 2";
-
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private SubscriptionInfo mInfo1;
-    @Mock
-    private SubscriptionInfo mInfo2;
-    @Mock
-    private ParcelUuid mParcelUuid;
-    private Context mContext;
-    private List<SubscriptionInfo> mInfos;
-
-    @Before
-    public void setUp() throws RemoteException {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
-        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
-        when(mTelephonyManager.getSubscriberId(SUB_ID)).thenReturn(SUBSCRIBER_ID);
-        when(mTelephonyManager.getSubscriberId(SUB_ID_2)).thenReturn(SUBSCRIBER_ID_2);
-        when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
-        when(mSubscriptionManager.isActiveSubscriptionId(anyInt())).thenReturn(true);
-    }
-
-    @Test
-    @Ignore
-    public void getMobileTemplate_infoNull_returnMobileAll() {
-        when(mSubscriptionManager.isActiveSubscriptionId(SUB_ID)).thenReturn(false);
-
-        final NetworkTemplate networkTemplate = DataUsageLib.getMobileTemplate(mContext, SUB_ID);
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID)).isTrue();
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID_2)).isFalse();
-    }
-
-    @Test
-    @Ignore
-    public void getMobileTemplate_groupUuidNull_returnMobileAll() {
-        when(mSubscriptionManager.getActiveSubscriptionInfo(SUB_ID)).thenReturn(mInfo1);
-        when(mInfo1.getGroupUuid()).thenReturn(null);
-        when(mTelephonyManager.getMergedImsisFromGroup())
-                .thenReturn(new String[] {SUBSCRIBER_ID});
-
-        final NetworkTemplate networkTemplate = DataUsageLib.getMobileTemplate(mContext, SUB_ID);
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID)).isTrue();
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID_2)).isFalse();
-    }
-
-    @Test
-    @Ignore
-    public void getMobileTemplate_groupUuidExist_returnMobileMerged() {
-        when(mSubscriptionManager.getActiveSubscriptionInfo(SUB_ID)).thenReturn(mInfo1);
-        when(mInfo1.getGroupUuid()).thenReturn(mParcelUuid);
-        // In some rare cases (e.g. b/243015487), merged subscriberId list might contain
-        // duplicated items. The implementation should perform deduplication.
-        when(mTelephonyManager.getMergedImsisFromGroup())
-                .thenReturn(new String[] {SUBSCRIBER_ID, SUBSCRIBER_ID, SUBSCRIBER_ID_2});
-
-        final NetworkTemplate networkTemplate = DataUsageLib.getMobileTemplate(mContext, SUB_ID);
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID)).isTrue();
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID_2)).isTrue();
-        assertThat(networkTemplate.getSubscriberIds().size() == 2).isTrue();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/AnimatorDurationScalePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/AnimatorDurationScalePreferenceControllerTest.java
index 3b7ff9f..97c4f67 100644
--- a/tests/robotests/src/com/android/settings/development/AnimatorDurationScalePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/AnimatorDurationScalePreferenceControllerTest.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.AnimatorDurationScalePreferenceController
-        .ANIMATOR_DURATION_SCALE_SELECTOR;
-import static com.android.settings.development.AnimatorDurationScalePreferenceController
-        .DEFAULT_VALUE;
+import static com.android.settings.development.AnimatorDurationScalePreferenceController.ANIMATOR_DURATION_SCALE_SELECTOR;
+import static com.android.settings.development.AnimatorDurationScalePreferenceController.DEFAULT_VALUE;
 
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -31,8 +29,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -71,9 +67,9 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         mListValues = mContext.getResources()
-            .getStringArray(R.array.animator_duration_scale_values);
+            .getStringArray(com.android.settingslib.R.array.animator_duration_scale_values);
         mListSummaries = mContext.getResources()
-            .getStringArray(R.array.animator_duration_scale_entries);
+            .getStringArray(com.android.settingslib.R.array.animator_duration_scale_entries);
         mController = new AnimatorDurationScalePreferenceController(mContext);
         ReflectionHelpers.setField(mController, "mWindowManager", mWindowManager);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/BackgroundProcessLimitPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BackgroundProcessLimitPreferenceControllerTest.java
index 82ca52a..d51547e 100644
--- a/tests/robotests/src/com/android/settings/development/BackgroundProcessLimitPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BackgroundProcessLimitPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -65,8 +63,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.app_process_limit_values);
-        mListSummaries = mContext.getResources().getStringArray(R.array.app_process_limit_entries);
+        mListValues = mContext.getResources()
+                .getStringArray(com.android.settingslib.R.array.app_process_limit_values);
+        mListSummaries = mContext.getResources()
+                .getStringArray(com.android.settingslib.R.array.app_process_limit_entries);
         mController = spy(new BackgroundProcessLimitPreferenceController(mContext));
         doReturn(mActivityManager).when(mController).getActivityManagerService();
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceControllerTest.java
index 3677f81..33f4c02 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceControllerTest.java
@@ -16,8 +16,7 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.BluetoothAvrcpVersionPreferenceController
-        .BLUETOOTH_AVRCP_VERSION_PROPERTY;
+import static com.android.settings.development.BluetoothAvrcpVersionPreferenceController.BLUETOOTH_AVRCP_VERSION_PROPERTY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -31,8 +30,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -66,8 +63,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.bluetooth_avrcp_version_values);
-        mListSummaries = resources.getStringArray(R.array.bluetooth_avrcp_versions);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.bluetooth_avrcp_version_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.bluetooth_avrcp_versions);
         mController = new BluetoothAvrcpVersionPreferenceController(mContext);
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
             .thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java
index f897fdf..3a45907 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 package com.android.settings.development;
-import static com.android.settings.development.BluetoothMapVersionPreferenceController
-        .BLUETOOTH_MAP_VERSION_PROPERTY;
+
+import static com.android.settings.development.BluetoothMapVersionPreferenceController.BLUETOOTH_MAP_VERSION_PROPERTY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -29,8 +29,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -59,8 +57,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.bluetooth_map_version_values);
-        mListSummaries = resources.getStringArray(R.array.bluetooth_map_versions);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.bluetooth_map_version_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.bluetooth_map_versions);
         mController = new BluetoothMapVersionPreferenceController(mContext);
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
             .thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceControllerTest.java
index 411cca0..68dd04e 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceControllerTest.java
@@ -26,8 +26,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -59,8 +57,10 @@
         // Get XML values without mock
         // Setup test list preference using XML values
         mPreference = new ListPreference(mSpyContext);
-        mPreference.setEntries(R.array.bt_hci_snoop_log_profile_filter_entries);
-        mPreference.setEntryValues(R.array.bt_hci_snoop_log_profile_filter_values);
+        mPreference.setEntries(
+                com.android.settingslib.R.array.bt_hci_snoop_log_profile_filter_entries);
+        mPreference.setEntryValues(
+                com.android.settingslib.R.array.bt_hci_snoop_log_profile_filter_values);
         // Init the actual controller
         mController = new BluetoothSnoopLogFilterProfileMapPreferenceController(mSpyContext);
         // Construct preference in the controller via a mocked preference screen object
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceControllerTest.java
index add84c3..20bae4d 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceControllerTest.java
@@ -26,8 +26,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -59,8 +57,10 @@
         // Get XML values without mock
         // Setup test list preference using XML values
         mPreference = new ListPreference(mSpyContext);
-        mPreference.setEntries(R.array.bt_hci_snoop_log_profile_filter_entries);
-        mPreference.setEntryValues(R.array.bt_hci_snoop_log_profile_filter_values);
+        mPreference.setEntries(
+                com.android.settingslib.R.array.bt_hci_snoop_log_profile_filter_entries);
+        mPreference.setEntryValues(
+                com.android.settingslib.R.array.bt_hci_snoop_log_profile_filter_values);
         // Init the actual controller
         mController = new BluetoothSnoopLogFilterProfilePbapPreferenceController(mSpyContext);
         // Construct preference in the controller via a mocked preference screen object
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogPreferenceControllerTest.java
index 6668a53..2d57a07 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -59,8 +57,8 @@
         // Get XML values without mock
         // Setup test list preference using XML values
         mPreference = new ListPreference(mSpyContext);
-        mPreference.setEntries(R.array.bt_hci_snoop_log_entries);
-        mPreference.setEntryValues(R.array.bt_hci_snoop_log_values);
+        mPreference.setEntries(com.android.settingslib.R.array.bt_hci_snoop_log_entries);
+        mPreference.setEntryValues(com.android.settingslib.R.array.bt_hci_snoop_log_values);
         // Init the actual controller
         mController = new BluetoothSnoopLogPreferenceController(mSpyContext, null);
         // Construct preference in the controller via a mocked preference screen object
diff --git a/tests/robotests/src/com/android/settings/development/DebugGpuOverdrawPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DebugGpuOverdrawPreferenceControllerTest.java
index 20d7971..1932abf 100644
--- a/tests/robotests/src/com/android/settings/development/DebugGpuOverdrawPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DebugGpuOverdrawPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,9 +58,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.debug_hw_overdraw_values);
+        mListValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.debug_hw_overdraw_values);
         mListSummaries = mContext.getResources().getStringArray(
-                R.array.debug_hw_overdraw_entries);
+                com.android.settingslib.R.array.debug_hw_overdraw_entries);
         mController = new DebugGpuOverdrawPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceControllerTest.java
index d3f3c7e..b9558ba 100644
--- a/tests/robotests/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,8 +58,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.show_non_rect_clip_values);
-        mListSummaries = mContext.getResources().getStringArray(R.array.show_non_rect_clip_entries);
+        mListValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.show_non_rect_clip_values);
+        mListSummaries = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.show_non_rect_clip_entries);
         mController = new DebugNonRectClipOperationsPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/GrammaticalGenderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/GrammaticalGenderPreferenceControllerTest.java
index 005e6a8..4ae28fa 100644
--- a/tests/robotests/src/com/android/settings/development/GrammaticalGenderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/GrammaticalGenderPreferenceControllerTest.java
@@ -34,8 +34,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -63,8 +61,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.grammatical_gender_values);
-        mListSummaries = resources.getStringArray(R.array.grammatical_gender_entries);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.grammatical_gender_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.grammatical_gender_entries);
         mConfiguration = new Configuration();
         mController = new GrammaticalGenderPreferenceController(mContext, mActivityManager);
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
diff --git a/tests/robotests/src/com/android/settings/development/HdcpCheckingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/HdcpCheckingPreferenceControllerTest.java
index 4828942..92750d9 100644
--- a/tests/robotests/src/com/android/settings/development/HdcpCheckingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/HdcpCheckingPreferenceControllerTest.java
@@ -16,8 +16,7 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.HdcpCheckingPreferenceController
-        .HDCP_CHECKING_PROPERTY;
+import static com.android.settings.development.HdcpCheckingPreferenceController.HDCP_CHECKING_PROPERTY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -32,8 +31,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -69,8 +66,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mValues = mContext.getResources().getStringArray(R.array.hdcp_checking_values);
-        mSummaries = mContext.getResources().getStringArray(R.array.hdcp_checking_summaries);
+        mValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.hdcp_checking_values);
+        mSummaries = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.hdcp_checking_summaries);
         mController = new HdcpCheckingPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/LocalBackupPasswordPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/LocalBackupPasswordPreferenceControllerTest.java
index 5297ef5..07684ef 100644
--- a/tests/robotests/src/com/android/settings/development/LocalBackupPasswordPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/LocalBackupPasswordPreferenceControllerTest.java
@@ -15,8 +15,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,7 +58,8 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(R.string.local_backup_password_summary_change);
+        verify(mPreference).setSummary(
+                com.android.settingslib.R.string.local_backup_password_summary_change);
     }
 
     @Test
@@ -73,7 +72,8 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(R.string.local_backup_password_summary_none);
+        verify(mPreference).setSummary(
+                com.android.settingslib.R.string.local_backup_password_summary_none);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java
index 504909e..75dc9f8 100644
--- a/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java
@@ -23,8 +23,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -79,7 +77,8 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(mContext.getString(R.string.mock_location_app_set, appName));
+        verify(mPreference).setSummary(mContext.getString(
+                com.android.settingslib.R.string.mock_location_app_set, appName));
     }
 
     @Test
@@ -89,7 +88,8 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(mContext.getString(R.string.mock_location_app_not_set));
+        verify(mPreference).setSummary(mContext.getString(
+                com.android.settingslib.R.string.mock_location_app_not_set));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/development/PictureColorModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/PictureColorModePreferenceControllerTest.java
index 5cdb8e7..234f820 100644
--- a/tests/robotests/src/com/android/settings/development/PictureColorModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/PictureColorModePreferenceControllerTest.java
@@ -32,7 +32,6 @@
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
@@ -67,7 +66,8 @@
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
             .thenReturn(mPreference);
         when(mContext.getResources()).thenReturn(mResources);
-        when(mResources.getIntArray(R.array.color_mode_ids)).thenReturn(new int[0]);
+        when(mResources.getIntArray(com.android.settingslib.R.array.color_mode_ids))
+                .thenReturn(new int[0]);
         mController.displayPreference(mPreferenceScreen);
     }
 
diff --git a/tests/robotests/src/com/android/settings/development/ProfileGpuRenderingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ProfileGpuRenderingPreferenceControllerTest.java
index 3fd480a..0f83859 100644
--- a/tests/robotests/src/com/android/settings/development/ProfileGpuRenderingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/ProfileGpuRenderingPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,8 +58,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.track_frame_time_values);
-        mListSummaries = mContext.getResources().getStringArray(R.array.track_frame_time_entries);
+        mListValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.track_frame_time_values);
+        mListSummaries = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.track_frame_time_entries);
         mController = new ProfileGpuRenderingPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/SecondaryDisplayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/SecondaryDisplayPreferenceControllerTest.java
index 16bb626..bb0ac2c 100644
--- a/tests/robotests/src/com/android/settings/development/SecondaryDisplayPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/SecondaryDisplayPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -70,8 +68,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.overlay_display_devices_values);
-        mListSummaries = resources.getStringArray(R.array.overlay_display_devices_entries);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.overlay_display_devices_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.overlay_display_devices_entries);
         mController = new SecondaryDisplayPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/SelectDebugAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/SelectDebugAppPreferenceControllerTest.java
index 2c85bb0..a998ddc 100644
--- a/tests/robotests/src/com/android/settings/development/SelectDebugAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/SelectDebugAppPreferenceControllerTest.java
@@ -16,8 +16,7 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes
-        .REQUEST_CODE_DEBUG_APP;
+import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes.REQUEST_CODE_DEBUG_APP;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -36,8 +35,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -92,7 +89,8 @@
         Settings.Global.putString(contentResolver, Settings.Global.DEBUG_APP, debugApp);
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(mContext.getString(R.string.debug_app_set, debugApp));
+        verify(mPreference).setSummary(
+                mContext.getString(com.android.settingslib.R.string.debug_app_set, debugApp));
     }
 
     @Test
@@ -102,7 +100,8 @@
         Settings.Global.putString(contentResolver, Settings.Global.DEBUG_APP, debugApp);
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(mContext.getString(R.string.debug_app_not_set));
+        verify(mPreference).setSummary(
+                mContext.getString(com.android.settingslib.R.string.debug_app_not_set));
     }
 
     @Test
@@ -114,7 +113,8 @@
             .onActivityResult(REQUEST_CODE_DEBUG_APP, Activity.RESULT_OK, activityResultIntent);
 
         assertThat(result).isTrue();
-        verify(mPreference).setSummary(mContext.getString(R.string.debug_app_set, appLabel));
+        verify(mPreference).setSummary(
+                mContext.getString(com.android.settingslib.R.string.debug_app_set, appLabel));
     }
 
     @Test
@@ -128,6 +128,7 @@
         mController.onDeveloperOptionsSwitchDisabled();
 
         verify(mPreference).setEnabled(false);
-        verify(mPreference).setSummary(mContext.getString(R.string.debug_app_not_set));
+        verify(mPreference).setSummary(
+                mContext.getString(com.android.settingslib.R.string.debug_app_not_set));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/development/SimulateColorSpacePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/SimulateColorSpacePreferenceControllerTest.java
index 93fc90d..003eb72 100644
--- a/tests/robotests/src/com/android/settings/development/SimulateColorSpacePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/SimulateColorSpacePreferenceControllerTest.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.SimulateColorSpacePreferenceController
-        .SETTING_VALUE_OFF;
-import static com.android.settings.development.SimulateColorSpacePreferenceController
-        .SETTING_VALUE_ON;
+import static com.android.settings.development.SimulateColorSpacePreferenceController.SETTING_VALUE_OFF;
+import static com.android.settings.development.SimulateColorSpacePreferenceController.SETTING_VALUE_ON;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -34,8 +32,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -67,7 +63,8 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.simulate_color_space_values);
+        mListValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.simulate_color_space_values);
         mController = new SimulateColorSpacePreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
@@ -130,8 +127,10 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(res.getString(R.string.daltonizer_type_overridden,
-                res.getString(R.string.accessibility_display_daltonizer_preference_title)));
+        verify(mPreference).setSummary(
+                res.getString(com.android.settingslib.R.string.daltonizer_type_overridden,
+                res.getString(com.android.settingslib.R
+                        .string.accessibility_display_daltonizer_preference_title)));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/development/TransitionAnimationScalePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/TransitionAnimationScalePreferenceControllerTest.java
index f06aa8d..73ff74e 100644
--- a/tests/robotests/src/com/android/settings/development/TransitionAnimationScalePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/TransitionAnimationScalePreferenceControllerTest.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.TransitionAnimationScalePreferenceController
-        .DEFAULT_VALUE;
-import static com.android.settings.development.TransitionAnimationScalePreferenceController
-        .TRANSITION_ANIMATION_SCALE_SELECTOR;
+import static com.android.settings.development.TransitionAnimationScalePreferenceController.DEFAULT_VALUE;
+import static com.android.settings.development.TransitionAnimationScalePreferenceController.TRANSITION_ANIMATION_SCALE_SELECTOR;
 
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -32,8 +30,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -72,8 +68,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.transition_animation_scale_values);
-        mListSummaries = resources.getStringArray(R.array.transition_animation_scale_entries);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.transition_animation_scale_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.transition_animation_scale_entries);
         mController = new TransitionAnimationScalePreferenceController(mContext);
         ReflectionHelpers.setField(mController, "mWindowManager", mWindowManager);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/WindowAnimationScalePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/WindowAnimationScalePreferenceControllerTest.java
index 4d8d3e8..6104b2d 100644
--- a/tests/robotests/src/com/android/settings/development/WindowAnimationScalePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/WindowAnimationScalePreferenceControllerTest.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.WindowAnimationScalePreferenceController
-        .DEFAULT_VALUE;
-import static com.android.settings.development.WindowAnimationScalePreferenceController
-        .WINDOW_ANIMATION_SCALE_SELECTOR;
+import static com.android.settings.development.WindowAnimationScalePreferenceController.DEFAULT_VALUE;
+import static com.android.settings.development.WindowAnimationScalePreferenceController.WINDOW_ANIMATION_SCALE_SELECTOR;
 
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -32,8 +30,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -72,8 +68,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.window_animation_scale_values);
-        mListSummaries = resources.getStringArray(R.array.window_animation_scale_entries);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.window_animation_scale_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.window_animation_scale_entries);
         mController = new WindowAnimationScalePreferenceController(mContext);
         ReflectionHelpers.setField(mController, "mWindowManager", mWindowManager);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java
index 323486e..21fc6d2 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java
@@ -170,8 +170,9 @@
 
     @Test
     public void generateSummary_checkString() {
-        final String summary = String.format(mContext.getResources().getString(
-                R.string.bluetooth_select_a2dp_codec_streaming_label), SUMMARY2);
+        String label = mContext.getResources().getString(
+                com.android.settingslib.R.string.bluetooth_select_a2dp_codec_streaming_label);
+        final String summary = String.format(label, SUMMARY2);
 
         assertThat(mPreference.generateSummary(1)).isEqualTo(summary);
     }
diff --git a/tests/robotests/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceTest.java b/tests/robotests/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceTest.java
index 56f29ba..a8faabe 100644
--- a/tests/robotests/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceTest.java
@@ -18,8 +18,6 @@
 
 import android.content.Context;
 
-import com.android.settings.R;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -39,9 +37,11 @@
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
-        sKEY = mContext.getResources().getStringArray(R.array.bt_hci_snoop_log_filters_values)[0];
+        sKEY = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.bt_hci_snoop_log_filters_values)[0];
         sENTRY =
-                mContext.getResources().getStringArray(R.array.bt_hci_snoop_log_filters_entries)[0];
+                mContext.getResources().getStringArray(
+                        com.android.settingslib.R.array.bt_hci_snoop_log_filters_entries)[0];
         mPreference = new SnoopLoggerFiltersPreference(mContext, sKEY, sENTRY);
     }
 
diff --git a/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java
index 88904df..251d354 100644
--- a/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java
@@ -31,8 +31,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -78,8 +76,8 @@
         mController.updateState(mPreference);
 
         verify(mPreference).setEnabled(true);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.shared_data_summary));
+        assertThat(mPreference.getSummary()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.shared_data_summary));
     }
 
     @Test
@@ -88,8 +86,8 @@
         mController.updateState(mPreference);
 
         verify(mPreference).setEnabled(false);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.shared_data_no_blobs_text));
+        assertThat(mPreference.getSummary()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.shared_data_no_blobs_text));
     }
 
     @Test
@@ -98,8 +96,8 @@
         mController.updateState(mPreference);
 
         verify(mPreference).setEnabled(false);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.shared_data_no_blobs_text));
+        assertThat(mPreference.getSummary()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.shared_data_no_blobs_text));
     }
 
     private List<BlobInfo> generateBlobList() {
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java
index 3552e16..995bef6 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java
@@ -45,7 +45,6 @@
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.deletionhelper.ActivationWarningFragment;
-import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.PrimarySwitchPreference;
 
@@ -83,7 +82,6 @@
                 .getSystemService(Context.DEVICE_POLICY_SERVICE);
         doReturn(mock(DevicePolicyManager.class)).when(mMockContext)
                 .getSystemService(Context.DEVICE_POLICY_SERVICE);
-        FeatureFactory.getFactory(mContext);
         mResources = spy(mContext.getResources());
         when(mContext.getResources()).thenReturn(mResources);
 
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
index 5fcb9c1..e697786 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -122,7 +122,7 @@
         final StorageItemPreference documentsAndOther = spy(new StorageItemPreference(mContext));
         documentsAndOther.setIcon(R.drawable.ic_folder_vd_theme_24);
         final StorageItemPreference system = spy(new StorageItemPreference(mContext));
-        system.setIcon(R.drawable.ic_system_update);
+        system.setIcon(com.android.settingslib.R.drawable.ic_system_update);
         final StorageItemPreference trash = spy(new StorageItemPreference(mContext));
         trash.setIcon(R.drawable.ic_trash_can);
 
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
index b3de184..5d478e7 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
@@ -210,7 +210,7 @@
 
             // Need to set the Theme.AppCompat theme (or descendant) with this activity, otherwise
             // a {@link IllegalStateException} is thrown when setting the content view.
-            setTheme(R.style.Theme_AppCompat_Light);
+            setTheme(androidx.appcompat.R.style.Theme_AppCompat_Light);
             setContentView(frameLayout);
         }
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
index 2779e0a..4b097bb 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
@@ -304,8 +304,8 @@
 
         mController.updateHeaderPreference(mBatteryInfo);
 
-        verify(mBatteryUsageProgressBarPref).setBottomSummary(
-            mContext.getString(R.string.battery_info_status_not_charging));
+        verify(mBatteryUsageProgressBarPref).setBottomSummary(mContext.getString(
+                com.android.settingslib.R.string.battery_info_status_not_charging));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
index 1a43dbb..c9591a5 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
@@ -68,6 +68,15 @@
     }
 
     @Test
+    public void testIsBatteryTipsEnabled_returnFalse() {
+        assertThat(mPowerFeatureProvider.isBatteryTipsEnabled()).isFalse();
+    }
+
+    @Test
+    public void testIsBatteryTipsFeedbackEnabled_returnTrue() {
+        assertThat(mPowerFeatureProvider.isBatteryTipsFeedbackEnabled()).isTrue();
+    }
+    @Test
     public void testGetBatteryUsageListConsumePowerThreshold_return0() {
         assertThat(mPowerFeatureProvider.getBatteryUsageListConsumePowerThreshold()).isEqualTo(0.0);
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
index f6bc297..7a7a384 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
@@ -17,17 +17,14 @@
 package com.android.settings.fuelgauge;
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
 import android.hardware.usb.UsbManager;
 import android.hardware.usb.UsbPort;
 import android.hardware.usb.UsbPortStatus;
@@ -46,10 +43,6 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-import java.util.ArrayList;
-import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class TopLevelBatteryPreferenceControllerTest {
@@ -143,7 +136,8 @@
         BatteryInfo info = new BatteryInfo();
 
         assertThat(mController.getDashboardLabel(mContext, info, true))
-                .isEqualTo(mContext.getString(R.string.battery_info_status_not_charging));
+                .isEqualTo(mContext.getString(
+                        com.android.settingslib.R.string.battery_info_status_not_charging));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java
index a5f1ab3..9f6e4e3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java
@@ -85,7 +85,7 @@
     @Test
     public void getIcon_showIcon() {
         assertThat(mIncompatibleChargerTip.getIconId())
-                .isEqualTo(R.drawable.ic_battery_alert_theme);
+                .isEqualTo(R.drawable.ic_battery_charger);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
index 108d6e2..e9606da 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
@@ -280,7 +280,8 @@
     public void getNameAndIconFromUid_rerturnExpectedName() {
         final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
                 mContext, /* name */ null, /* uid */ 0);
-        assertThat(nameAndIcon.mName).isEqualTo(getString(R.string.process_kernel_label));
+        assertThat(nameAndIcon.mName).isEqualTo(
+                getString(com.android.settingslib.R.string.process_kernel_label));
 
         assertNameAndIcon("mediaserver", R.string.process_mediaserver_label);
         assertNameAndIcon("dex2oat32", R.string.process_dex2oat_label);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
new file mode 100644
index 0000000..6f9a474
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.fuelgauge.batteryusage;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public final class BatteryTipsCardPreferenceTest {
+
+    private Context mContext;
+    private BatteryTipsCardPreference mBatteryTipsCardPreference;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        mBatteryTipsCardPreference = new BatteryTipsCardPreference(mContext, /*attrs=*/ null);
+    }
+
+    @Test
+    public void constructor_returnExpectedResult() {
+        assertThat(mBatteryTipsCardPreference.getLayoutResource()).isEqualTo(
+                R.layout.battery_tips_card);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
index aa1ebd7..566df52 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
@@ -22,8 +22,10 @@
 
 import android.app.AlarmManager;
 import android.app.Application;
+import android.app.usage.UsageStatsManager;
 import android.content.Context;
 import android.content.Intent;
+import android.content.SharedPreferences;
 
 import androidx.test.core.app.ApplicationProvider;
 
@@ -40,7 +42,6 @@
 import org.robolectric.shadows.ShadowAlarmManager;
 
 import java.time.Clock;
-import java.time.Duration;
 import java.util.List;
 import java.util.concurrent.TimeUnit;
 
@@ -65,10 +66,12 @@
         BatteryTestUtils.insertDataToBatteryStateTable(
                 mContext, Clock.systemUTC().millis(), "com.android.systemui");
         mDao = database.batteryStateDao();
+        clearSharedPreferences();
     }
 
     @After
     public void tearDown() {
+        clearSharedPreferences();
         mPeriodicJobManager.reset();
     }
 
@@ -82,8 +85,21 @@
 
     @Test
     public void onReceive_withBootCompletedIntent_refreshesJob() {
+        final SharedPreferences sharedPreferences = DatabaseUtils.getSharedPreferences(mContext);
+        sharedPreferences
+                .edit()
+                .putInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE,
+                        UsageStatsManager.USAGE_SOURCE_CURRENT_ACTIVITY)
+                .apply();
+
         mReceiver.onReceive(mContext, new Intent(Intent.ACTION_BOOT_COMPLETED));
+
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNotNull();
+        assertThat(
+                DatabaseUtils
+                        .getSharedPreferences(mContext)
+                        .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
+                .isFalse();
     }
 
     @Test
@@ -133,15 +149,7 @@
                 BootBroadcastReceiver.ACTION_PERIODIC_JOB_RECHECK);
     }
 
-    private void insertExpiredData(int shiftDay) {
-        final long expiredTimeInMs =
-                Clock.systemUTC().millis() - Duration.ofDays(shiftDay).toMillis();
-        BatteryTestUtils.insertDataToBatteryStateTable(
-                mContext, expiredTimeInMs - 1, "com.android.systemui");
-        BatteryTestUtils.insertDataToBatteryStateTable(
-                mContext, expiredTimeInMs, "com.android.systemui");
-        // Ensures the testing environment is correct.
-        assertThat(mDao.getAllAfter(0)).hasSize(3);
+    private void clearSharedPreferences() {
+        DatabaseUtils.getSharedPreferences(mContext).edit().clear().apply();
     }
-
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
index 6b8073b..3cbe8a4 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
@@ -25,7 +25,6 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import android.app.usage.IUsageStatsManager;
 import android.app.usage.UsageEvents;
 import android.app.usage.UsageEvents.Event;
 import android.content.ContentValues;
@@ -35,7 +34,6 @@
 import android.os.BatteryManager;
 import android.os.BatteryUsageStats;
 import android.os.LocaleList;
-import android.os.RemoteException;
 import android.os.UserHandle;
 
 import com.android.settings.fuelgauge.batteryusage.db.AppUsageEventEntity;
@@ -62,14 +60,13 @@
     @Mock
     private BatteryUsageStats mBatteryUsageStats;
     @Mock
-    private IUsageStatsManager mUsageStatsManager;
-    @Mock
     private BatteryEntry mMockBatteryEntry;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
+        ConvertUtils.sUsageSource = ConvertUtils.EMPTY_USAGE_SOURCE;
         when(mContext.getPackageManager()).thenReturn(mMockPackageManager);
     }
 
@@ -302,7 +299,7 @@
 
         final long userId = 2;
         final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(
-                mContext, mUsageStatsManager, event, userId);
+                mContext, event, userId);
         assertThat(appUsageEvent.getTimestamp()).isEqualTo(101L);
         assertThat(appUsageEvent.getType()).isEqualTo(AppUsageEventType.ACTIVITY_RESUMED);
         assertThat(appUsageEvent.getPackageName()).isEqualTo("com.android.settings1");
@@ -322,8 +319,8 @@
         when(mMockPackageManager.getPackageUidAsUser(any(), anyInt())).thenReturn(1001);
 
         final long userId = 1;
-        final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(
-                mContext, mUsageStatsManager, event, userId);
+        final AppUsageEvent appUsageEvent =
+                ConvertUtils.convertToAppUsageEvent(mContext, event, userId);
         assertThat(appUsageEvent.getTimestamp()).isEqualTo(101L);
         assertThat(appUsageEvent.getType()).isEqualTo(AppUsageEventType.DEVICE_SHUTDOWN);
         assertThat(appUsageEvent.getPackageName()).isEqualTo("com.android.settings1");
@@ -338,8 +335,8 @@
         final Event event = new Event();
         event.mPackage = null;
 
-        final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(
-                mContext, mUsageStatsManager, event, /*userId=*/ 0);
+        final AppUsageEvent appUsageEvent =
+                ConvertUtils.convertToAppUsageEvent(mContext, event, /*userId=*/ 0);
 
         assertThat(appUsageEvent).isNull();
     }
@@ -354,8 +351,8 @@
                 .thenThrow(new PackageManager.NameNotFoundException());
 
         final long userId = 1;
-        final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(
-                mContext, mUsageStatsManager, event, userId);
+        final AppUsageEvent appUsageEvent =
+                ConvertUtils.convertToAppUsageEvent(mContext, event, userId);
 
         assertThat(appUsageEvent).isNull();
     }
@@ -450,51 +447,47 @@
     }
 
     @Test
-    public void getEffectivePackageName_currentActivity_returnPackageName() throws RemoteException {
-        when(mUsageStatsManager.getUsageSource()).thenReturn(USAGE_SOURCE_CURRENT_ACTIVITY);
+    public void getEffectivePackageName_currentActivity_returnPackageName() {
+        ConvertUtils.sUsageSource = USAGE_SOURCE_CURRENT_ACTIVITY;
         final String packageName = "com.android.settings1";
         final String taskRootPackageName = "com.android.settings2";
 
         assertThat(ConvertUtils.getEffectivePackageName(
-                mUsageStatsManager, packageName, taskRootPackageName))
+                mContext, packageName, taskRootPackageName))
                 .isEqualTo(packageName);
     }
 
     @Test
-    public void getEffectivePackageName_usageSourceThrowException_returnPackageName()
-            throws RemoteException {
-        when(mUsageStatsManager.getUsageSource()).thenThrow(new RemoteException());
+    public void getEffectivePackageName_emptyUsageSource_returnPackageName() {
         final String packageName = "com.android.settings1";
         final String taskRootPackageName = "com.android.settings2";
 
         assertThat(ConvertUtils.getEffectivePackageName(
-                mUsageStatsManager, packageName, taskRootPackageName))
+                mContext, packageName, taskRootPackageName))
                 .isEqualTo(packageName);
     }
 
     @Test
-    public void getEffectivePackageName_rootActivity_returnTaskRootPackageName()
-            throws RemoteException {
-        when(mUsageStatsManager.getUsageSource()).thenReturn(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
+    public void getEffectivePackageName_rootActivity_returnTaskRootPackageName() {
+        ConvertUtils.sUsageSource = USAGE_SOURCE_TASK_ROOT_ACTIVITY;
         final String packageName = "com.android.settings1";
         final String taskRootPackageName = "com.android.settings2";
 
         assertThat(ConvertUtils.getEffectivePackageName(
-                mUsageStatsManager, packageName, taskRootPackageName))
+                mContext, packageName, taskRootPackageName))
                 .isEqualTo(taskRootPackageName);
     }
 
     @Test
-    public void getEffectivePackageName_nullOrEmptyTaskRoot_returnPackageName()
-            throws RemoteException {
-        when(mUsageStatsManager.getUsageSource()).thenReturn(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
+    public void getEffectivePackageName_nullOrEmptyTaskRoot_returnPackageName() {
+        ConvertUtils.sUsageSource = USAGE_SOURCE_TASK_ROOT_ACTIVITY;
         final String packageName = "com.android.settings1";
 
         assertThat(ConvertUtils.getEffectivePackageName(
-                mUsageStatsManager, packageName, /*taskRootPackageName=*/ null))
+                mContext, packageName, /*taskRootPackageName=*/ null))
                 .isEqualTo(packageName);
         assertThat(ConvertUtils.getEffectivePackageName(
-                mUsageStatsManager, packageName, /*taskRootPackageName=*/ ""))
+                mContext, packageName, /*taskRootPackageName=*/ ""))
                 .isEqualTo(packageName);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
index b610cfb..7f7fe43 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
@@ -72,7 +72,7 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = spy(RuntimeEnvironment.application);
-        DataProcessor.sUsageStatsManager = mUsageStatsManager;
+        DatabaseUtils.sUsageStatsManager = mUsageStatsManager;
         doReturn(mContext).when(mContext).getApplicationContext();
         doReturn(mUserManager)
                 .when(mContext)
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
index e2274e2..8bed054 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
@@ -93,7 +93,7 @@
         mPowerUsageFeatureProvider = mFeatureFactory.powerUsageFeatureProvider;
 
         DataProcessor.sTestSystemAppsPackageNames = Set.of();
-        DataProcessor.sUsageStatsManager = mUsageStatsManager;
+        DatabaseUtils.sUsageStatsManager = mUsageStatsManager;
         doReturn(mIntent).when(mContext).registerReceiver(
                 isA(BroadcastReceiver.class), isA(IntentFilter.class));
         doReturn(100).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_SCALE), anyInt());
@@ -249,7 +249,7 @@
 
         final Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>> periodMap =
                 DataProcessor.generateAppUsagePeriodMap(
-                        14400000L, hourlyBatteryLevelsPerDay, appUsageEventList, new ArrayList<>());
+                        mContext, hourlyBatteryLevelsPerDay, appUsageEventList, new ArrayList<>());
 
         assertThat(periodMap).hasSize(3);
         // Day 1
@@ -287,7 +287,8 @@
         hourlyBatteryLevelsPerDay.add(
                 new BatteryLevelData.PeriodBatteryLevelData(new ArrayList<>(), new ArrayList<>()));
         assertThat(DataProcessor.generateAppUsagePeriodMap(
-                0L, hourlyBatteryLevelsPerDay, new ArrayList<>(), new ArrayList<>())).isNull();
+                mContext, hourlyBatteryLevelsPerDay, new ArrayList<>(), new ArrayList<>()))
+                .isNull();
     }
 
     @Test
@@ -1644,7 +1645,7 @@
 
         final Map<Long, Map<String, List<AppUsagePeriod>>> appUsagePeriodMap =
                 DataProcessor.buildAppUsagePeriodList(
-                        appUsageEvents, new ArrayList<>(), 0, 5);
+                        mContext, appUsageEvents, new ArrayList<>(), 0, 5);
 
         assertThat(appUsagePeriodMap).hasSize(2);
         final Map<String, List<AppUsagePeriod>> userMap1 = appUsagePeriodMap.get(1L);
@@ -1668,7 +1669,7 @@
     @Test
     public void buildAppUsagePeriodList_emptyEventList_returnNull() {
         assertThat(DataProcessor.buildAppUsagePeriodList(
-                new ArrayList<>(), new ArrayList<>(), 0, 1)).isNull();
+                mContext, new ArrayList<>(), new ArrayList<>(), 0, 1)).isNull();
     }
 
     @Test
@@ -1680,7 +1681,7 @@
                 AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 2));
 
         assertThat(DataProcessor.buildAppUsagePeriodList(
-                appUsageEvents, new ArrayList<>(), 0, 3)).isNull();
+                mContext, appUsageEvents, new ArrayList<>(), 0, 3)).isNull();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
index efce44e..24be769 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.fuelgauge.batteryusage;
 
+import static android.app.usage.UsageStatsManager.USAGE_SOURCE_CURRENT_ACTIVITY;
+import static android.app.usage.UsageStatsManager.USAGE_SOURCE_TASK_ROOT_ACTIVITY;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -23,15 +26,19 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
+import static org.mockito.Mockito.when;
 
+import android.app.usage.IUsageStatsManager;
 import android.content.ContentResolver;
 import android.content.ContentValues;
 import android.content.Context;
 import android.content.Intent;
+import android.content.SharedPreferences;
 import android.content.pm.PackageManager;
 import android.database.MatrixCursor;
 import android.os.BatteryManager;
 import android.os.BatteryUsageStats;
+import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
 
@@ -67,6 +74,7 @@
     @Mock private BatteryEntry mMockBatteryEntry2;
     @Mock private BatteryEntry mMockBatteryEntry3;
     @Mock private Context mMockContext;
+    @Mock private IUsageStatsManager mUsageStatsManager;
 
     @Before
     public void setUp() {
@@ -77,6 +85,7 @@
         doReturn(mPackageManager).when(mMockContext).getPackageManager();
         doReturn(mPackageManager).when(mContext).getPackageManager();
         DatabaseUtils.getSharedPreferences(mContext).edit().clear().apply();
+        DatabaseUtils.sUsageStatsManager = mUsageStatsManager;
     }
 
     @Test
@@ -423,6 +432,71 @@
     }
 
     @Test
+    public void removeUsageSource_hasNoData() {
+        DatabaseUtils.removeUsageSource(mContext);
+        assertThat(
+                DatabaseUtils
+                        .getSharedPreferences(mContext)
+                        .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
+                .isFalse();
+    }
+
+    @Test
+    public void removeUsageSource_hasData_deleteUsageSource() {
+        final SharedPreferences sharedPreferences = DatabaseUtils.getSharedPreferences(mContext);
+        sharedPreferences
+                .edit()
+                .putInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE, USAGE_SOURCE_TASK_ROOT_ACTIVITY)
+                .apply();
+
+        DatabaseUtils.removeUsageSource(mContext);
+
+        assertThat(
+                DatabaseUtils
+                        .getSharedPreferences(mContext)
+                        .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
+                .isFalse();
+    }
+
+    @Test
+    public void getUsageSource_hasData() {
+        final SharedPreferences sharedPreferences = DatabaseUtils.getSharedPreferences(mContext);
+        sharedPreferences
+                .edit()
+                .putInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE, USAGE_SOURCE_TASK_ROOT_ACTIVITY)
+                .apply();
+
+        assertThat(DatabaseUtils.getUsageSource(mContext))
+                .isEqualTo(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
+    }
+
+    @Test
+    public void getUsageSource_notHasData_writeLoadedData() throws RemoteException {
+        when(mUsageStatsManager.getUsageSource()).thenReturn(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
+
+        assertThat(DatabaseUtils.getUsageSource(mContext))
+                .isEqualTo(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
+        assertThat(
+                DatabaseUtils
+                        .getSharedPreferences(mContext)
+                        .getInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE, USAGE_SOURCE_CURRENT_ACTIVITY))
+                .isEqualTo(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
+    }
+
+    @Test
+    public void getUsageSource_throwException_writeDefaultData() throws RemoteException {
+        when(mUsageStatsManager.getUsageSource()).thenThrow(new RemoteException());
+
+        assertThat(DatabaseUtils.getUsageSource(mContext))
+                .isEqualTo(USAGE_SOURCE_CURRENT_ACTIVITY);
+        assertThat(
+                DatabaseUtils
+                        .getSharedPreferences(mContext)
+                        .getInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE, USAGE_SOURCE_CURRENT_ACTIVITY))
+                .isEqualTo(USAGE_SOURCE_CURRENT_ACTIVITY);
+    }
+
+    @Test
     public void recordDateTime_writeDataIntoSharedPreferences() {
         final String preferenceKey = "test_preference_key";
         DatabaseUtils.recordDateTime(mContext, preferenceKey);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
index bee3045..b25b845 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
@@ -53,7 +53,8 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = RuntimeEnvironment.application;
-        mRootView = LayoutInflater.from(mContext).inflate(R.layout.preference_app, null);
+        mRootView = LayoutInflater.from(mContext)
+                .inflate(com.android.settingslib.widget.R.layout.preference_app, null);
         mWidgetView =
                 LayoutInflater.from(mContext).inflate(R.layout.preference_widget_summary, null);
         final LinearLayout widgetFrame = mRootView.findViewById(android.R.id.widget_frame);
@@ -62,7 +63,8 @@
         mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(mRootView);
 
         mPowerGaugePreference = new PowerGaugePreference(mContext);
-        assertThat(mPowerGaugePreference.getLayoutResource()).isEqualTo(R.layout.preference_app);
+        assertThat(mPowerGaugePreference.getLayoutResource())
+                .isEqualTo(com.android.settingslib.widget.R.layout.preference_app);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java b/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java
index 98ecc05..c6a5d64 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java
@@ -23,11 +23,11 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.mock;
 
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -159,7 +159,7 @@
         mFragment.updateInputMethodPreferenceViews();
 
         verify(mValuesWrapper).getInputMethodList();
-        verify(mInputMethodManager).getEnabledInputMethodListAsUser(anyInt());
+        verify(mInputMethodManager).getEnabledInputMethodListAsUser(any(UserHandle.class));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceControllerTest.java
index 6fe731e..0a5be27 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceControllerTest.java
@@ -33,8 +33,6 @@
 import androidx.core.text.BidiFormatter;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -93,7 +91,7 @@
     public void updateState_noEnabledIMEs_setEmptySummary() {
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(R.string.summary_empty);
+        verify(mPreference).setSummary(com.android.settingslib.R.string.summary_empty);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
index d349865..fb7d41a 100644
--- a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
+++ b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
@@ -23,6 +23,7 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.anyBoolean;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
@@ -42,7 +43,11 @@
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
+import android.view.ViewGroup;
 import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
 import android.widget.TextView;
 
 import androidx.appcompat.app.AlertDialog;
@@ -55,6 +60,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowActivityManager;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.After;
 import org.junit.Before;
@@ -67,7 +73,6 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -84,11 +89,12 @@
     private static final int REQUEST_CONFIRM_SYSTEM_DEFAULT = 1;
 
     private LocaleListEditor mLocaleListEditor;
-
     private Context mContext;
     private FragmentActivity mActivity;
-    private List mLocaleList;
+    private List<LocaleStore.LocaleInfo> mLocaleList;
     private Intent mIntent = new Intent();
+    private LocaleDragCell mLocaleDragCell;
+    private LocaleDragAndDropAdapter.CustomViewHolder mCustomViewHolder;
 
     @Mock
     private LocaleDragAndDropAdapter mAdapter;
@@ -108,6 +114,18 @@
     private IActivityManager mActivityService;
     @Mock
     private MetricsFeatureProvider mMetricsFeatureProvider;
+    @Mock
+    private TextView mLabel;
+    @Mock
+    private CheckBox mCheckbox;
+    @Mock
+    private TextView mMiniLabel;
+    @Mock
+    private TextView mLocalized;
+    @Mock
+    private TextView mCurrentDefault;
+    @Mock
+    private ImageView mDragHandle;
 
     @Before
     public void setUp() throws Exception {
@@ -417,6 +435,35 @@
         when(mLocaleListEditor.getSupportedLocales()).thenReturn(supportedLocales);
     }
 
+    @Test
+    public void onBindViewHolder_shouldSetCheckedBoxText() {
+        ReflectionHelpers.setField(mLocaleListEditor, "mRemoveMode", true);
+        mLocaleList = new ArrayList<>();
+        mLocaleList.add(mLocaleInfo);
+        when(mLocaleInfo.getFullNameNative()).thenReturn("English");
+        when(mLocaleInfo.getLocale()).thenReturn(LocaleList.forLanguageTags("en-US").get(0));
+
+        mAdapter = spy(new LocaleDragAndDropAdapter(mLocaleListEditor, mLocaleList));
+        ReflectionHelpers.setField(mAdapter, "mFeedItemList", mLocaleList);
+        ReflectionHelpers.setField(mAdapter, "mParent", mLocaleListEditor);
+        ReflectionHelpers.setField(mAdapter, "mCacheItemList", new ArrayList<>(mLocaleList));
+        ReflectionHelpers.setField(mAdapter, "mContext", mContext);
+        ViewGroup view = new FrameLayout(mContext);
+        mCustomViewHolder = mAdapter.onCreateViewHolder(view, 0);
+        mLocaleDragCell = new LocaleDragCell(mContext, null);
+        ReflectionHelpers.setField(mCustomViewHolder, "mLocaleDragCell", mLocaleDragCell);
+        ReflectionHelpers.setField(mLocaleDragCell, "mLabel", mLabel);
+        ReflectionHelpers.setField(mLocaleDragCell, "mLocalized", mLocalized);
+        ReflectionHelpers.setField(mLocaleDragCell, "mCurrentDefault", mCurrentDefault);
+        ReflectionHelpers.setField(mLocaleDragCell, "mMiniLabel", mMiniLabel);
+        ReflectionHelpers.setField(mLocaleDragCell, "mDragHandle", mDragHandle);
+        ReflectionHelpers.setField(mLocaleDragCell, "mCheckbox", mCheckbox);
+
+        mAdapter.onBindViewHolder(mCustomViewHolder, 0);
+
+        verify(mAdapter).setCheckBoxDescription(any(LocaleDragCell.class), any(), anyBoolean());
+    }
+
     private void setUpLocaleConditions() {
         ShadowActivityManager.setService(mActivityService);
         mLocaleList = new ArrayList<>();
diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java
index 225f91b..2955c88 100644
--- a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java
@@ -80,7 +80,7 @@
         mController.init(mDashboardFragment);
         final String key = mController.getPreferenceKey();
         mAppEntitiesHeaderView = LayoutInflater.from(mContext).inflate(
-                R.layout.app_entities_header, null /* root */);
+                com.android.settingslib.widget.R.layout.app_entities_header, null /* root */);
         when(mScreen.findPreference(key)).thenReturn(mLayoutPreference);
         when(mLayoutPreference.getKey()).thenReturn(key);
         when(mLayoutPreference.getContext()).thenReturn(mContext);
@@ -108,7 +108,8 @@
         final TextView title = mAppEntitiesHeaderView.findViewById(R.id.header_title);
         assertThat(title.getText()).isEqualTo(
                 mContext.getText(R.string.location_category_recent_location_access));
-        final TextView details = mAppEntitiesHeaderView.findViewById(R.id.header_details);
+        final TextView details = mAppEntitiesHeaderView
+                .findViewById(com.android.settingslib.widget.R.id.header_details);
         assertThat(details.getText()).isEqualTo(
                 mContext.getText(R.string.location_recent_location_access_view_details));
         assertThat(details.hasOnClickListeners()).isTrue();
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
index af292a9..b5c8218 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
@@ -211,7 +211,8 @@
         ConnectivitySettingsManager.setPrivateDnsHostname(mContext, HOSTNAME);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_off));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_off));
     }
 
     @Test
@@ -221,7 +222,8 @@
         ConnectivitySettingsManager.setPrivateDnsHostname(mContext, HOSTNAME);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic));
 
         LinkProperties lp = mock(LinkProperties.class);
         when(lp.getValidatedPrivateDnsServers()).thenReturn(NON_EMPTY_ADDRESS_LIST);
@@ -234,7 +236,8 @@
         when(lp.getValidatedPrivateDnsServers()).thenReturn(Collections.emptyList());
         updateLinkProperties(lp);
         mController.updateState(mPreference);
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic));
     }
 
     @Test
@@ -244,8 +247,8 @@
         ConnectivitySettingsManager.setPrivateDnsHostname(mContext, HOSTNAME);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(
-                getResourceString(R.string.private_dns_mode_provider_failure));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_provider_failure));
 
         LinkProperties lp = mock(LinkProperties.class);
         when(lp.getValidatedPrivateDnsServers()).thenReturn(NON_EMPTY_ADDRESS_LIST);
@@ -258,8 +261,8 @@
         when(lp.getValidatedPrivateDnsServers()).thenReturn(Collections.emptyList());
         updateLinkProperties(lp);
         mController.updateState(mPreference);
-        verify(mPreference).setSummary(
-                getResourceString(R.string.private_dns_mode_provider_failure));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_provider_failure));
     }
 
     @Test
@@ -269,7 +272,8 @@
         ConnectivitySettingsManager.setPrivateDnsHostname(mContext, "");
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic));
 
         reset(mController);
         reset(mPreference);
@@ -277,7 +281,8 @@
         ConnectivitySettingsManager.setPrivateDnsDefaultMode(mContext, PRIVATE_DNS_MODE_OFF);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_off));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_off));
 
         reset(mController);
         reset(mPreference);
@@ -287,7 +292,8 @@
         ConnectivitySettingsManager.setPrivateDnsMode(mContext, PRIVATE_DNS_MODE_OPPORTUNISTIC);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic));
     }
 
     @Ignore
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
index 8bccf1a..3242a59 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
@@ -111,7 +111,7 @@
     public void createActivity_withShowOptionsButtonExtra_shouldShowButtonUnderSudHeader() {
         SetupChooseLockPassword activity = createSetupChooseLockPassword();
         final LinearLayout headerLayout = activity.findViewById(
-                R.id.sud_layout_header);
+                com.google.android.setupdesign.R.id.sud_layout_header);
         assertThat(headerLayout).isNotNull();
 
         final Button optionsButton = headerLayout.findViewById(R.id.screen_lock_options);
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
index c5e0813..d6df6c4 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
@@ -262,7 +262,7 @@
         final TextView headerView = layout.findViewById(R.id.sud_layout_subtitle);
         final TypedValue typedValue = new TypedValue();
         final Resources.Theme theme = mActivity.getTheme();
-        theme.resolveAttribute(R.attr.colorError, typedValue, true);
+        theme.resolveAttribute(androidx.appcompat.R.attr.colorError, typedValue, true);
         final int errorColor = typedValue.data;
 
         enterShortPattern();
diff --git a/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java
index a983228..b9c80b0 100644
--- a/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java
@@ -53,7 +53,7 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
-        mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(mContext);
+        mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider();
         SafetyCenterManagerWrapper.sInstance = mock(SafetyCenterManagerWrapper.class);
     }
 
diff --git a/tests/robotests/src/com/android/settings/remoteauth/OWNERS b/tests/robotests/src/com/android/settings/remoteauth/OWNERS
new file mode 100644
index 0000000..ed486d7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/remoteauth/OWNERS
@@ -0,0 +1 @@
+include /src/com/android/settings/remoteauth/OWNERS
diff --git a/tests/robotests/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinishTest.kt b/tests/robotests/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinishTest.kt
new file mode 100644
index 0000000..7bb5c45
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinishTest.kt
@@ -0,0 +1,55 @@
+/*
+ * 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.remoteauth.finish
+
+
+import android.content.Context
+import android.os.Bundle
+import androidx.fragment.app.testing.launchFragmentInContainer
+import androidx.test.core.app.ApplicationProvider
+import com.android.settings.R
+import com.google.android.setupdesign.GlifLayout
+import com.google.common.truth.Truth.assertThat
+
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+
+@RunWith(RobolectricTestRunner::class)
+class RemoteAuthEnrollFinishTest {
+    private var mContext: Context = ApplicationProvider.getApplicationContext()
+
+    @Test
+    fun testRemoteAuthenticatorEnrollFinish_hasHeader() {
+        launchFragmentInContainer<RemoteAuthEnrollFinish>(Bundle(), R.style.SudThemeGlif)
+            .onFragment {
+                assertThat((it.view as GlifLayout).headerText)
+                    .isEqualTo(mContext.getString(
+                        R.string.security_settings_remoteauth_enroll_finish_title))
+            }
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollFinish_hasDescription() {
+        launchFragmentInContainer<RemoteAuthEnrollFinish>(Bundle(), R.style.SudThemeGlif)
+            .onFragment {
+                assertThat((it.view as GlifLayout).descriptionText)
+                    .isEqualTo(mContext.getString(
+                        R.string.security_settings_remoteauth_enroll_finish_description))
+            }
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroductionTest.kt b/tests/robotests/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroductionTest.kt
new file mode 100644
index 0000000..a271184
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroductionTest.kt
@@ -0,0 +1,52 @@
+/*
+ * 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.remoteauth.introduction
+
+import android.content.Context
+import android.os.Bundle
+import androidx.fragment.app.testing.launchFragmentInContainer
+import androidx.test.core.app.ApplicationProvider
+import com.android.settings.R
+import com.google.android.setupdesign.GlifLayout
+import com.google.common.truth.Truth.assertThat
+
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+
+@RunWith(RobolectricTestRunner::class)
+class RemoteAuthEnrollIntroductionTest {
+    private var mContext : Context = ApplicationProvider.getApplicationContext()
+
+    @Test
+    fun testRemoteAuthenticatorEnrollIntroduction_hasHeader() {
+        launchFragmentInContainer<RemoteAuthEnrollIntroduction>(Bundle(), R.style.SudThemeGlif)
+            .onFragment {
+                assertThat((it.view as GlifLayout).headerText)
+                    .isEqualTo(mContext.getString(R.string.security_settings_remoteauth_enroll_introduction_title))
+            }
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollIntroduction_hasDescription() {
+        launchFragmentInContainer<RemoteAuthEnrollIntroduction>(Bundle(), R.style.SudThemeGlif)
+            .onFragment {
+                assertThat((it.view as GlifLayout).descriptionText)
+                    .isEqualTo(mContext.getString(R.string.security_settings_remoteauth_enroll_introduction_message))
+            }
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
index 2a7bd29..eb6ad0c 100644
--- a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
+++ b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
@@ -71,7 +71,8 @@
         Global.putInt(mActivity.getContentResolver(), Global.DEVICE_PROVISIONED, 1);
 
         when(mHost.getActivity()).thenReturn(mActivity);
-        when(mMenu.add(Menu.NONE, MENU_SEARCH, 0 /* order */, R.string.search_menu))
+        when(mMenu.add(Menu.NONE, MENU_SEARCH, 0 /* order */,
+                R.string.search_menu))
                 .thenReturn(mock(MenuItem.class));
     }
 
@@ -80,7 +81,8 @@
         SearchMenuController.init(mHost);
         mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
 
-        verify(mMenu).add(Menu.NONE, MENU_SEARCH, 0 /* order */, R.string.search_menu);
+        verify(mMenu).add(Menu.NONE, MENU_SEARCH, 0 /* order */,
+                R.string.search_menu);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceControllerTest.java
index 8884ab8..efbf646 100644
--- a/tests/robotests/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceControllerTest.java
@@ -119,7 +119,7 @@
         mController.updateState(mPreference);
         assertThat(mPreference.isChecked()).isFalse();
         assertThat(mPreference.getSummary()).isEqualTo(mContext.getString(
-                R.string.summary_empty));
+                com.android.settingslib.R.string.summary_empty));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java b/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
index 93fb25f..e391576 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
@@ -146,8 +146,8 @@
     private List<Integer> getIndexableXml() {
         final List<Integer> xmlResSet = new ArrayList<>();
 
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(
-                mContext).getSearchFeatureProvider().getSearchIndexableResources()
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
+                .getSearchFeatureProvider().getSearchIndexableResources()
                 .getProviderValues();
 
         for (SearchIndexableData bundle : bundles) {
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
index cd9b081..0d7c0b1 100644
--- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -193,8 +193,9 @@
         return localeFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) {
+    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider() {
         return enterprisePrivacyFeatureProvider;
     }
 
@@ -213,8 +214,9 @@
         return securityFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public UserFeatureProvider getUserFeatureProvider(Context context) {
+    public UserFeatureProvider getUserFeatureProvider() {
         return userFeatureProvider;
     }
 
diff --git a/tests/robotests/src/com/android/settings/widget/AppCheckBoxPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/AppCheckBoxPreferenceTest.java
index 6340b16..5637b20 100644
--- a/tests/robotests/src/com/android/settings/widget/AppCheckBoxPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/AppCheckBoxPreferenceTest.java
@@ -24,8 +24,6 @@
 
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -46,20 +44,24 @@
         mPreference = new AppCheckBoxPreference(mContext);
         mAttrPreference = new AppCheckBoxPreference(mContext, null /* attrs */);
         mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(R.layout.preference_app, null));
+                LayoutInflater.from(mContext)
+                        .inflate(com.android.settingslib.widget.R.layout.preference_app, null));
     }
 
     @Test
     public void testGetLayoutResource() {
-        assertThat(mPreference.getLayoutResource()).isEqualTo(R.layout.preference_app);
-        assertThat(mAttrPreference.getLayoutResource()).isEqualTo(R.layout.preference_app);
+        assertThat(mPreference.getLayoutResource())
+                .isEqualTo(com.android.settingslib.widget.R.layout.preference_app);
+        assertThat(mAttrPreference.getLayoutResource())
+                .isEqualTo(com.android.settingslib.widget.R.layout.preference_app);
     }
 
     @Test
     public void onBindViewHolder_appendixGone() {
         mPreference.onBindViewHolder(mPreferenceViewHolder);
 
-        assertThat(mPreferenceViewHolder.findViewById(R.id.appendix).getVisibility())
-                .isEqualTo(View.GONE);
+        View appendix =
+                mPreferenceViewHolder.findViewById(com.android.settingslib.widget.R.id.appendix);
+        assertThat(appendix.getVisibility()).isEqualTo(View.GONE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
index 2d90382..ed0ff6d 100644
--- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
@@ -100,7 +100,8 @@
 
     @Test
     public void testBuildView_constructedWithView_shouldReturnSameView() {
-        View inputView = mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        View inputView = mLayoutInflater.inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         mController = EntityHeaderController.newInstance(mActivity, mFragment, inputView);
         View view = mController.done(mActivity);
 
@@ -110,11 +111,12 @@
     @Test
     public void bindViews_shouldBindAllData() {
         final String testString = "test";
-        final View header =
-                mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View header = mLayoutInflater.inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         final TextView label = header.findViewById(R.id.entity_header_title);
         final TextView summary = header.findViewById(R.id.entity_header_summary);
-        final TextView secondSummary = header.findViewById(R.id.entity_header_second_summary);
+        final TextView secondSummary = header.findViewById(
+                com.android.settingslib.widget.R.id.entity_header_second_summary);
 
         mController = EntityHeaderController.newInstance(mActivity, mFragment, header);
         mController.setLabel(testString);
@@ -137,8 +139,8 @@
         info.activityInfo = new ActivityInfo();
         info.activityInfo.packageName = "123";
         info.activityInfo.name = "321";
-        final View view = mLayoutInflater
-                .inflate(R.layout.settings_entity_header, null /* root */);
+        final View view = mLayoutInflater.inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         when(mActivity.getApplicationContext()).thenReturn(mContext);
 
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
@@ -165,7 +167,8 @@
         info.activityInfo = new ActivityInfo();
         info.activityInfo.packageName = "123";
         info.activityInfo.name = "321";
-        final View view = mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View view = mLayoutInflater.inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         when(mActivity.getApplicationContext()).thenReturn(mContext);
 
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
@@ -181,8 +184,8 @@
 
     @Test
     public void bindButton_noAppInfo_shouldNotAttachClickListener() {
-        final View appLinks =
-                mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View appLinks = mLayoutInflater.inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         final FragmentActivity activity = mock(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(activity);
 
@@ -199,7 +202,8 @@
         assertThat(appLinks.findViewById(android.R.id.button2).getVisibility())
                 .isEqualTo(View.GONE);
 
-        appLinks.findViewById(R.id.entity_header_content).performClick();
+        appLinks.findViewById(com.android.settingslib.widget.R.id.entity_header_content)
+                .performClick();
         verify(mFragment, never()).getActivity();
         verify(activity, never()).startActivity(any(Intent.class));
     }
@@ -207,8 +211,8 @@
     @Ignore
     @Test
     public void bindButton_hasAppInfo_shouldAttachClickListener() {
-        final View appLinks =
-                mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View appLinks = mLayoutInflater.inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         final FragmentActivity activity = mock(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(activity);
         when(mContext.getString(eq(R.string.application_info_label))).thenReturn("App Info");
@@ -222,15 +226,16 @@
                         EntityHeaderController.ActionType.ACTION_NONE);
         mController.done(mActivity);
 
-        appLinks.findViewById(R.id.entity_header_content).performClick();
+        appLinks.findViewById(com.android.settingslib.widget.R.id.entity_header_content)
+                .performClick();
         verify(activity)
                 .startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class));
     }
 
     @Test
     public void iconContentDescription_shouldWorkWithSetIcon() {
-        final View view =
-                mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View view = mLayoutInflater.inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
         String description = "Fake Description";
@@ -243,8 +248,8 @@
 
     @Test
     public void iconContentDescription_shouldWorkWithoutSetIcon() {
-        final View view = mLayoutInflater
-                .inflate(R.layout.settings_entity_header, null /* root */);
+        final View view = mLayoutInflater.inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
         String description = "Fake Description";
@@ -256,8 +261,8 @@
 
     @Test
     public void bindButton_hasAppNotifIntent_shouldShowButton() {
-        final View appLinks = mLayoutInflater
-                .inflate(R.layout.settings_entity_header, null /* root */);
+        final View appLinks = mLayoutInflater.inflate(
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
 
         mController = EntityHeaderController.newInstance(mActivity, mFragment, appLinks);
         mController.setAppNotifPrefIntent(new Intent())
@@ -277,23 +282,23 @@
     @Test
     public void instantApps_normalAppsDontGetLabel() {
         final View header = mLayoutInflater.inflate(
-                R.layout.settings_entity_header, null /* root */);
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         mController = EntityHeaderController.newInstance(mActivity, mFragment, header);
         mController.done(mActivity);
 
-        assertThat(header.findViewById(R.id.install_type).getVisibility())
-                .isEqualTo(View.GONE);
+        View installType = header.findViewById(com.android.settingslib.widget.R.id.install_type);
+        assertThat(installType.getVisibility()).isEqualTo(View.GONE);
     }
 
     // Test that the "instant apps" label is present in the header when we have an instant app.
     @Test
     public void instantApps_expectedHeaderItem() {
         final View header = mLayoutInflater.inflate(
-                R.layout.settings_entity_header, null /* root */);
+                com.android.settingslib.widget.R.layout.settings_entity_header, null /* root */);
         mController = EntityHeaderController.newInstance(mActivity, mFragment, header);
         mController.setIsInstantApp(true);
         mController.done(mActivity);
-        TextView label = header.findViewById(R.id.install_type);
+        TextView label = header.findViewById(com.android.settingslib.widget.R.id.install_type);
 
         assertThat(label.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(label.getText()).isEqualTo(
diff --git a/tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java b/tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java
index 1ec222e..00f2e19 100644
--- a/tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java
@@ -83,7 +83,7 @@
                 false /* highlighted*/));
         when(mAdapter.getItem(anyInt())).thenReturn(mPreference);
         mViewHolder = PreferenceViewHolder.createInstanceForTests(
-                View.inflate(mContext, R.layout.preference, null));
+                View.inflate(mContext, androidx.preference.R.layout.preference, null));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/widget/PrimaryCheckBoxPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/PrimaryCheckBoxPreferenceTest.java
index a1d74e3..f3fa61e 100644
--- a/tests/robotests/src/com/android/settings/widget/PrimaryCheckBoxPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/PrimaryCheckBoxPreferenceTest.java
@@ -125,7 +125,8 @@
     public void clickWidgetView_shouldToggleCheckBox() {
         final LayoutInflater inflater = LayoutInflater.from(mContext);
         final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_two_target, null));
+                inflater.inflate(
+                        com.android.settingslib.widget.R.layout.preference_two_target, null));
         final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
         assertThat(widgetView).isNotNull();
 
@@ -144,7 +145,8 @@
     public void clickWidgetView_shouldNotToggleCheckBoxIfDisabled() {
         final LayoutInflater inflater = LayoutInflater.from(mContext);
         final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_two_target, null));
+                inflater.inflate(
+                        com.android.settingslib.widget.R.layout.preference_two_target, null));
         final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
         assertThat(widgetView).isNotNull();
 
@@ -160,7 +162,8 @@
     @Test
     public void clickWidgetView_shouldNotifyPreferenceChanged() {
         final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(R.layout.preference_two_target, null));
+                LayoutInflater.from(mContext).inflate(
+                        com.android.settingslib.widget.R.layout.preference_two_target, null));
         final View widgetView = holder.findViewById(android.R.id.widget_frame);
         final OnPreferenceChangeListener listener = mock(OnPreferenceChangeListener.class);
         mPreference.setOnPreferenceChangeListener(listener);
diff --git a/tests/robotests/src/com/android/settings/wifi/LongPressWifiEntryPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/LongPressWifiEntryPreferenceTest.java
index efc2018..457d9ab 100644
--- a/tests/robotests/src/com/android/settings/wifi/LongPressWifiEntryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/LongPressWifiEntryPreferenceTest.java
@@ -18,6 +18,10 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
@@ -60,7 +64,7 @@
         when(mWifiEntry.canDisconnect()).thenReturn(false);
         when(mWifiEntry.isSaved()).thenReturn(false);
 
-        mPreference = new LongPressWifiEntryPreference(mContext, mWifiEntry, mFragment);
+        mPreference = spy(new LongPressWifiEntryPreference(mContext, mWifiEntry, mFragment));
     }
 
     @Test
@@ -106,4 +110,23 @@
 
         assertThat(mPreference.shouldEnabled()).isTrue();
     }
+
+    @Test
+    public void checkRestrictionAndSetDisabled_hasAdminRestrictions_doSetDisabledByAdmin() {
+        when(mContext.getUser()).thenReturn(null);
+        when(mWifiEntry.hasAdminRestrictions()).thenReturn(true);
+
+        mPreference.checkRestrictionAndSetDisabled();
+
+        verify(mPreference).setDisabledByAdmin(any());
+    }
+
+    @Test
+    public void checkRestrictionAndSetDisabled_noAdminRestrictions_doNotSetDisabledByAdmin() {
+        when(mWifiEntry.hasAdminRestrictions()).thenReturn(false);
+
+        mPreference.checkRestrictionAndSetDisabled();
+
+        verify(mPreference, never()).setDisabledByAdmin(any());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
index faaa0fa..dc60714 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
@@ -398,15 +398,18 @@
         for (int i = 0; i < adapter.getCount(); i++) {
             String val = adapter.getItem(i);
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_sae)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_sae)) == 0) {
                 saeFound = true;
             }
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_eap_suiteb)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_suiteb)) == 0) {
                 suitebFound = true;
             }
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_owe)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_owe)) == 0) {
                 oweFound = true;
             }
         }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
index 8ecbaf6..2ff4596 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
@@ -351,15 +351,18 @@
         for (int i = 0; i < adapter.getCount(); i++) {
             String val = adapter.getItem(i);
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_sae)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_sae)) == 0) {
                 saeFound = true;
             }
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_eap_suiteb)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_suiteb)) == 0) {
                 suitebFound = true;
             }
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_owe)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_owe)) == 0) {
                 oweFound = true;
             }
         }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java
index 316beb3..f96570c 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java
@@ -19,7 +19,9 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -97,6 +99,9 @@
 
         when(mMockWifiEntry.getTitle()).thenReturn(MOCK_TITLE);
         when(mMockWifiEntry.getSummary(false /* concise */)).thenReturn(MOCK_SUMMARY);
+        when(mMockWifiEntry.getLevel()).thenReturn(0);
+        when(mMockWifiEntry.shouldShowXLevelIcon()).thenReturn(false);
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
 
         when(mMockIconInjector.getIcon(false /* showX */, 0)).thenReturn(mMockDrawable0);
         when(mMockIconInjector.getIcon(false /* showX */, 1)).thenReturn(mMockDrawable1);
@@ -115,7 +120,7 @@
         when(mMockIconInjector.getIcon(true /* showX */, 4))
                 .thenReturn(mMockShowXDrawable4);
 
-        mPref = new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector);
+        mPref = spy(new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector));
     }
 
     @Test
@@ -138,6 +143,27 @@
     }
 
     @Test
+    public void setWifiEntry_connectedStateChanged_setIconAndSummary() {
+        when(mMockWifiEntry.getLevel()).thenReturn(4);
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
+
+        mPref.setWifiEntry(mMockWifiEntry);
+
+        verify(mPref).setIcon(any());
+        verify(mPref).setSummary(anyString());
+
+        // Only the connection state changes.
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
+        reset(mPref);
+
+        mPref.setWifiEntry(mMockWifiEntry);
+
+        // The icon and summary should be set in case.
+        verify(mPref).setIcon(any());
+        verify(mPref).setSummary(anyString());
+    }
+
+    @Test
     public void titleChanged_refresh_shouldUpdateTitle() {
         final String updatedTitle = "updated title";
         when(mMockWifiEntry.getTitle()).thenReturn(updatedTitle);
@@ -254,6 +280,8 @@
 
     @Test
     public void updateIcon_shouldSetTintListForDrawable() {
+        reset(mMockDrawable4);
+
         mPref.updateIcon(false /* showX */, 4 /* level */);
 
         verify(mMockDrawable4).setTintList(any());
diff --git a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java
index 800e2e4..d9bc0b4 100644
--- a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java
@@ -24,29 +24,29 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 
-import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.wifi.WifiEntryPreference;
 import com.android.wifitrackerlib.WifiEntry;
 
 import org.junit.Before;
-import org.junit.Ignore;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -55,26 +55,38 @@
 @RunWith(RobolectricTestRunner.class)
 public class SavedAccessPointsPreferenceController2Test {
 
+    private static final String PREFERENCE_KEY = "preference_key";
+    private static final String TEST_KEY = "key";
+    private static final String TEST_TITLE = "ssid_title";
+
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Spy
+    private Context mContext = ApplicationProvider.getApplicationContext();
     @Mock
     private PreferenceScreen mPreferenceScreen;
     @Mock
-    private PreferenceCategory mPreferenceCategory;
+    private PreferenceGroup mPreferenceGroup;
+    @Mock
+    private WifiEntryPreference mWifiEntryPreference;
+    @Mock
+    private WifiEntry mWifiEntry;
 
-    private Context mContext;
     private SavedAccessPointsWifiSettings2 mSettings;
     private SavedAccessPointsPreferenceController2 mController;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mSettings = spy(new SavedAccessPointsWifiSettings2());
-        mController = spy(new SavedAccessPointsPreferenceController2(mContext, "test_key"));
-        mController.setHost(mSettings);
+        when(mPreferenceScreen.findPreference(PREFERENCE_KEY)).thenReturn(mPreferenceGroup);
+        when(mPreferenceGroup.getContext()).thenReturn(mContext);
+        when(mWifiEntryPreference.getKey()).thenReturn(TEST_KEY);
+        when(mWifiEntryPreference.getTitle()).thenReturn(TEST_TITLE);
+        when(mWifiEntry.getKey()).thenReturn(TEST_KEY);
+        when(mWifiEntry.getTitle()).thenReturn(TEST_TITLE);
 
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
-                .thenReturn(mPreferenceCategory);
-        when(mPreferenceCategory.getContext()).thenReturn(mContext);
+        mSettings = spy(new SavedAccessPointsWifiSettings2());
+        mController = spy(new SavedAccessPointsPreferenceController2(mContext, PREFERENCE_KEY));
+        mController.setHost(mSettings);
     }
 
     @Test
@@ -86,64 +98,52 @@
 
     @Test
     public void getAvailability_oneSavedAccessPoint_shouldAvailable() {
-        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
-        mController.mWifiEntries = Arrays.asList(mockWifiEntry);
+        mController.mWifiEntries = Arrays.asList(mWifiEntry);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
-    @Ignore
     @Test
-    public void displayPreference_oneAccessPoint_shouldListIt() {
-        final String title = "ssid_title";
-        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
-        when(mockWifiEntry.getTitle()).thenReturn(title);
-        final ArgumentCaptor<WifiEntryPreference> captor =
+    public void displayPreference_newWifiEntry_addPreference() {
+        when(mPreferenceGroup.getPreferenceCount()).thenReturn(0);
+
+        mController.displayPreference(mPreferenceScreen, Arrays.asList(mWifiEntry));
+
+        ArgumentCaptor<WifiEntryPreference> captor =
                 ArgumentCaptor.forClass(WifiEntryPreference.class);
-
-        mController.displayPreference(mPreferenceScreen, Arrays.asList(mockWifiEntry));
-
-        verify(mPreferenceCategory).addPreference(captor.capture());
-
-        final List<WifiEntryPreference> prefs = captor.getAllValues();
+        verify(mPreferenceGroup).addPreference(captor.capture());
+        List<WifiEntryPreference> prefs = captor.getAllValues();
         assertThat(prefs.size()).isEqualTo(1);
-        assertThat(prefs.get(0).getTitle()).isEqualTo(title);
+        assertThat(prefs.get(0).getTitle()).isEqualTo(TEST_TITLE);
     }
 
-    @Ignore
     @Test
-    public void displayPreference_noAccessPoint_shouldRemoveIt() {
-        final String title = "ssid_title";
-        final String key = "key";
-        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
-        when(mockWifiEntry.getTitle()).thenReturn(title);
-        when(mockWifiEntry.getKey()).thenReturn(key);
-        final WifiEntryPreference preference = new WifiEntryPreference(mContext, mockWifiEntry);
-        preference.setKey(key);
-        mPreferenceCategory.addPreference(preference);
+    public void displayPreference_sameWifiEntry_preferenceSetWifiEntry() {
+        when(mPreferenceGroup.getPreferenceCount()).thenReturn(1);
+        when(mPreferenceGroup.getPreference(0)).thenReturn(mWifiEntryPreference);
+
+        mController.displayPreference(mPreferenceScreen, Arrays.asList(mWifiEntry));
+
+        verify(mWifiEntryPreference).setWifiEntry(mWifiEntry);
+    }
+
+    @Test
+    public void displayPreference_removedWifiEntry_removePreference() {
+        when(mPreferenceGroup.getPreferenceCount()).thenReturn(1);
+        when(mPreferenceGroup.getPreference(0)).thenReturn(mWifiEntryPreference);
 
         mController.displayPreference(mPreferenceScreen, new ArrayList<>());
 
-        assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(0);
+        verify(mPreferenceGroup).removePreference(any());
     }
 
-    @Ignore
     @Test
     public void onPreferenceClick_shouldCallShowWifiPage() {
-        mContext = spy(RuntimeEnvironment.application);
         doNothing().when(mContext).startActivity(any());
         doReturn(mContext).when(mSettings).getContext();
 
-        final String title = "ssid_title";
-        final String key = "key";
-        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
-        when(mockWifiEntry.getTitle()).thenReturn(title);
-        when(mockWifiEntry.getKey()).thenReturn(key);
-        final WifiEntryPreference preference = new WifiEntryPreference(mContext, mockWifiEntry);
-        preference.setKey(key);
+        mController.onPreferenceClick(mWifiEntryPreference);
 
-        mController.onPreferenceClick(preference);
-
-        verify(mSettings, times(1)).showWifiPage(key, title);
+        verify(mSettings).showWifiPage(TEST_KEY, TEST_TITLE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
index 75d49fe..9f56fcd 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -221,7 +221,7 @@
 
     @Test
     public void onSecuritySummaryChanged_canNotShowWifiHotspot_returnFalse() {
-        int stringResId = R.string.wifi_security_sae;
+        int stringResId = com.android.settingslib.R.string.wifi_security_sae;
         mSettings.mWifiHotspotSecurity = mock(Preference.class);
 
         mSettings.onSecuritySummaryChanged(stringResId);
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/DataUsageLibTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/DataUsageLibTest.kt
new file mode 100644
index 0000000..5922fac
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/DataUsageLibTest.kt
@@ -0,0 +1,171 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkStats
+import android.net.NetworkTemplate
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.Spy
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.mockito.Mockito.`when` as whenever
+
+@RunWith(AndroidJUnit4::class)
+class DataUsageLibTest {
+
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Mock
+    private lateinit var telephonyManager: TelephonyManager
+
+    @Mock
+    private lateinit var subscriptionManager: SubscriptionManager
+
+    @Before
+    fun setUp() {
+        whenever(context.getSystemService(TelephonyManager::class.java))
+            .thenReturn(telephonyManager)
+        whenever(context.getSystemService(SubscriptionManager::class.java))
+            .thenReturn(subscriptionManager)
+
+        whenever(telephonyManager.subscriptionId).thenReturn(DEFAULT_SUB_ID)
+        whenever(telephonyManager.getSubscriberId(SUB_ID)).thenReturn(SUBSCRIBER_ID)
+        whenever(telephonyManager.getSubscriberId(DEFAULT_SUB_ID)).thenReturn(DEFAULT_SUBSCRIBER_ID)
+        whenever(telephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(telephonyManager)
+    }
+
+    @Test
+    fun getMobileTemplate_availableSubscriptionInfoListIsNull_returnDefaultSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList).thenReturn(null)
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(DEFAULT_SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplate_subscriptionNotActive_returnDefaultSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList).thenReturn(listOf(null))
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(DEFAULT_SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplate_mergedImsisFromGroupNull_returnRequestedSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList)
+            .thenReturn(listOf(SUBSCRIBER_INFO))
+        whenever(telephonyManager.mergedImsisFromGroup).thenReturn(null)
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplate_mergedImsisFromGroupEmpty_returnRequestedSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList)
+            .thenReturn(listOf(SUBSCRIBER_INFO))
+        whenever(telephonyManager.mergedImsisFromGroup).thenReturn(emptyArray())
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplate_mergedImsisFromGroupNotContainSub_returnRequestedSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList)
+            .thenReturn(listOf(SUBSCRIBER_INFO))
+        whenever(telephonyManager.mergedImsisFromGroup).thenReturn(arrayOf(DEFAULT_SUBSCRIBER_ID))
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplate_mergedImsisFromGroupContainSub_returnRequestedSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList)
+            .thenReturn(listOf(SUBSCRIBER_INFO))
+        whenever(telephonyManager.mergedImsisFromGroup)
+            .thenReturn(arrayOf(DEFAULT_SUBSCRIBER_ID, SUBSCRIBER_ID))
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds)
+            .containsExactly(SUBSCRIBER_ID, DEFAULT_SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplateForSubId_subscriberIdNotNull() {
+        whenever(telephonyManager.getSubscriberId(SUB_ID)).thenReturn(SUBSCRIBER_ID)
+
+        val mobileTemplate = DataUsageLib.getMobileTemplateForSubId(telephonyManager, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplateForSubId_subscriberIdIsNull() {
+        whenever(telephonyManager.getSubscriberId(SUB_ID)).thenReturn(null)
+
+        val mobileTemplate = DataUsageLib.getMobileTemplateForSubId(telephonyManager, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_MOBILE)
+        assertThat(mobileTemplate.subscriberIds).isEmpty()
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    private companion object {
+        const val DEFAULT_SUB_ID = 0
+        const val SUB_ID = 1
+        const val DEFAULT_SUBSCRIBER_ID = "Default Test Subscriber"
+        const val SUBSCRIBER_ID = "Test Subscriber"
+        val SUBSCRIBER_INFO: SubscriptionInfo = SubscriptionInfo.Builder().setId(SUB_ID).build()
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt
index 53a1868..0deeaf7 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreferenceTest.kt
@@ -19,7 +19,6 @@
 import android.content.Context
 import android.content.Intent
 import android.content.pm.ApplicationInfo
-import android.os.UserManager
 import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.test.assertIsDisplayed
@@ -40,16 +39,13 @@
 import com.android.settings.applications.AppStoreUtil
 import com.android.settingslib.applications.AppUtils
 import com.android.settingslib.spa.testutils.waitUntilExists
-import com.android.settingslib.spaprivileged.framework.common.userManager
 import com.android.settingslib.spaprivileged.model.app.userHandle
 import org.junit.After
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
 import org.mockito.Mockito.any
-import org.mockito.Mockito.anyInt
 import org.mockito.Mockito.eq
 import org.mockito.Mockito.verify
 import org.mockito.MockitoSession
@@ -67,9 +63,6 @@
     @Spy
     private val context: Context = ApplicationProvider.getApplicationContext()
 
-    @Mock
-    private lateinit var userManager: UserManager
-
     @Before
     fun setUp() {
         mockSession = mockitoSession()
@@ -79,8 +72,6 @@
             .mockStatic(AppUtils::class.java)
             .strictness(Strictness.LENIENT)
             .startMocking()
-        whenever(context.userManager).thenReturn(userManager)
-        whenever(userManager.isManagedProfile(anyInt())).thenReturn(false)
         whenever(AppStoreUtil.getInstallerPackageName(any(), eq(PACKAGE_NAME)))
             .thenReturn(INSTALLER_PACKAGE_NAME)
         whenever(AppStoreUtil.getAppStoreLink(context, INSTALLER_PACKAGE_NAME, PACKAGE_NAME))
@@ -115,15 +106,6 @@
     }
 
     @Test
-    fun whenIsManagedProfile_notDisplayed() {
-        whenever(userManager.isManagedProfile(anyInt())).thenReturn(true)
-
-        setContent()
-
-        composeTestRule.onRoot().assertIsNotDisplayed()
-    }
-
-    @Test
     fun whenIsMainlineModule_notDisplayed() {
         whenever(AppUtils.isMainlineModule(any(), eq(PACKAGE_NAME))).thenReturn(true)
 
diff --git a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
index 0fe634a..e5e4990 100644
--- a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
+++ b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
@@ -88,11 +88,8 @@
     override val localeFeatureProvider: LocaleFeatureProvider
         get() = TODO("Not yet implemented")
 
-    override fun getEnterprisePrivacyFeatureProvider(
-        context: Context,
-    ): EnterprisePrivacyFeatureProvider {
-        TODO("Not yet implemented")
-    }
+    override val enterprisePrivacyFeatureProvider: EnterprisePrivacyFeatureProvider
+        get() = TODO("Not yet implemented")
 
     override val searchFeatureProvider: SearchFeatureProvider
         get() = TODO("Not yet implemented")
@@ -104,9 +101,8 @@
     override val securityFeatureProvider: SecurityFeatureProvider
         get() = TODO("Not yet implemented")
 
-    override fun getUserFeatureProvider(context: Context): UserFeatureProvider {
-        TODO("Not yet implemented")
-    }
+    override val userFeatureProvider: UserFeatureProvider
+        get() = TODO("Not yet implemented")
 
     override val slicesFeatureProvider: SlicesFeatureProvider
         get() = TODO("Not yet implemented")
diff --git a/tests/unit/src/com/android/settings/accessibility/OneHandedPreferenceControllerTest.java b/tests/unit/src/com/android/settings/accessibility/OneHandedPreferenceControllerTest.java
deleted file mode 100644
index dc5a7d5..0000000
--- a/tests/unit/src/com/android/settings/accessibility/OneHandedPreferenceControllerTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.accessibility;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.gestures.OneHandedSettingsUtils;
-import com.android.settings.testutils.ResourcesUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public final class OneHandedPreferenceControllerTest {
-    private Context mContext;
-    private OneHandedPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        mContext = ApplicationProvider.getApplicationContext();
-        mController = new OneHandedPreferenceController(mContext, "one_handed");
-    }
-
-    @Test
-    public void getSummary_oneHandedEnabled_showsOnWithSummary() {
-        OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, true);
-        // R.string.gesture_setting_on
-        String gestureSettingOn = ResourcesUtils.getResourcesString(mContext, "gesture_setting_on");
-        // R.string.one_handed_mode_intro_text
-        String oneHandedModeIntroText = ResourcesUtils.getResourcesString(mContext,
-                "one_handed_mode_intro_text");
-
-        // expect: On / $(summary)
-        assertThat(mController.getSummary().toString()).isEqualTo(
-                // R.string.preference_summary_default_combination
-                ResourcesUtils.getResourcesString(mContext,
-                        "preference_summary_default_combination", gestureSettingOn,
-                        oneHandedModeIntroText));
-    }
-
-    @Test
-    public void getSummary_oneHandedDisabled_showsOffWithSummary() {
-        OneHandedSettingsUtils.setOneHandedModeEnabled(mContext, false);
-        // R.string.gesture_setting_off
-        String gestureSettingOff = ResourcesUtils.getResourcesString(mContext,
-                "gesture_setting_off");
-        // R.string.one_handed_mode_intro_text
-        String oneHandedModeIntroText = ResourcesUtils.getResourcesString(mContext,
-                "one_handed_mode_intro_text");
-
-        // expect: Off / $(summary)
-        assertThat(mController.getSummary().toString()).isEqualTo(
-                // R.string.preference_summary_default_combination
-                ResourcesUtils.getResourcesString(mContext,
-                        "preference_summary_default_combination", gestureSettingOff,
-                        oneHandedModeIntroText));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.kt
index d718db6..ac62232 100644
--- a/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.kt
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.kt
@@ -38,22 +38,6 @@
         Truth.assertThat(credentialModel.userId).isEqualTo(UserHandle.myUserId())
     }
 
-    @Test
-    fun testSameValueFromBundle() {
-        val bundle = newCredentialModelIntentExtras(1234, 6677L, byteArrayOf(33, 44, 55), 987654321)
-        val model1 = CredentialModel(bundle, clock)
-        val model2 = CredentialModel(model1.bundle, clock)
-        verifySameCredentialModels(model1, model2)
-    }
-
-    @Test
-    fun testSameValueFromBundle_nullToken() {
-        val bundle = newCredentialModelIntentExtras(22, 33L, null, 21L)
-        val model1 = CredentialModel(bundle, clock)
-        val model2 = CredentialModel(model1.bundle, clock)
-        verifySameCredentialModels(model1, model2)
-    }
-
     companion object {
         @JvmStatic
         fun newCredentialModelIntentExtras(
@@ -148,36 +132,5 @@
                 }
             }
         }
-
-        fun verifySameCredentialModels(
-            model1: CredentialModel,
-            model2: CredentialModel
-        ) {
-            Truth.assertThat(model1.userId).isEqualTo(model2.userId)
-            Truth.assertThat(model1.challenge).isEqualTo(model2.challenge)
-            Truth.assertThat(model1.gkPwHandle).isEqualTo(model2.gkPwHandle)
-            val token1 = model1.token
-            val token2 = model2.token
-            if (token1 == null) {
-                Truth.assertThat(token2).isNull()
-            } else {
-                Truth.assertThat(token2).isNotNull()
-                Truth.assertThat(token1.size).isEqualTo(token2!!.size)
-                for (i in token1.indices) {
-                    Truth.assertThat(token1[i]).isEqualTo(
-                        token2[i]
-                    )
-                }
-            }
-            val bundle1 = model1.bundle
-            val bundle2 = model2.bundle
-            val keySet1 = bundle1.keySet()
-            Truth.assertThat(keySet1 == bundle2.keySet()).isTrue()
-            checkBundleIntValue(bundle1, bundle2, Intent.EXTRA_USER_ID)
-            checkBundleIntValue(bundle1, bundle2, BiometricEnrollBase.EXTRA_KEY_SENSOR_ID)
-            checkBundleLongValue(bundle1, bundle2, BiometricEnrollBase.EXTRA_KEY_CHALLENGE)
-            checkBundleByteArrayValue(bundle1, bundle2, BiometricEnrollBase.EXTRA_KEY_CHALLENGE)
-            checkBundleLongValue(bundle1, bundle2, ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE)
-        }
     }
 }
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.java
deleted file mode 100644
index 05a7239..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.java
+++ /dev/null
@@ -1,596 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
-
-import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_CHALLENGE;
-import static com.android.settings.biometrics2.ui.model.CredentialModel.INVALID_CHALLENGE;
-import static com.android.settings.biometrics2.ui.model.CredentialModel.INVALID_GK_PW_HANDLE;
-import static com.android.settings.biometrics2.ui.model.CredentialModelTest.newCredentialModelIntentExtras;
-import static com.android.settings.biometrics2.ui.model.CredentialModelTest.newGkPwHandleCredentialIntentExtras;
-import static com.android.settings.biometrics2.ui.model.CredentialModelTest.newOnlySensorValidCredentialIntentExtras;
-import static com.android.settings.biometrics2.ui.model.CredentialModelTest.newValidTokenCredentialIntentExtras;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_IS_GENERATING_CHALLENGE;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_VALID;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.ChallengeGenerator;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CredentialAction;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.GenerateChallengeCallback;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.KEY_CREDENTIAL_MODEL;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL;
-import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN;
-import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
-
-import static com.google.common.truth.Truth.assertThat;
-import static com.google.common.truth.Truth.assertWithMessage;
-
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.when;
-
-import android.annotation.NonNull;
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.UserHandle;
-
-import androidx.activity.result.ActivityResult;
-import androidx.annotation.Nullable;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.internal.widget.VerifyCredentialResponse;
-import com.android.settings.password.ChooseLockPattern;
-import com.android.settings.testutils.InstantTaskExecutorRule;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-@RunWith(AndroidJUnit4.class)
-public class AutoCredentialViewModelTest {
-
-    @Rule public final MockitoRule mockito = MockitoJUnit.rule();
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    @Mock private LockPatternUtils mLockPatternUtils;
-    private TestChallengeGenerator mChallengeGenerator = null;
-    private AutoCredentialViewModel mViewModel;
-
-    @Before
-    public void setUp() {
-        mChallengeGenerator = new TestChallengeGenerator();
-        mViewModel = new AutoCredentialViewModel(
-                ApplicationProvider.getApplicationContext(),
-                mLockPatternUtils,
-                mChallengeGenerator);
-    }
-
-    private void setupGenerateChallenge(int userId, int newSensorId, long newChallenge) {
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-        mChallengeGenerator.mUserId = userId;
-        mChallengeGenerator.mSensorId = newSensorId;
-        mChallengeGenerator.mChallenge = newChallenge;
-    }
-
-    @Test
-    public void testSetCredentialModel_sameResultFromSavedInstanceOrIntent() {
-        final Bundle extras = newCredentialModelIntentExtras(12, 33, new byte[] { 2, 3 }, 3L);
-
-        AutoCredentialViewModel viewModel2 = new AutoCredentialViewModel(
-                ApplicationProvider.getApplicationContext(),
-                mLockPatternUtils,
-                mChallengeGenerator);
-
-        mViewModel.setCredentialModel(null, new Intent().putExtras(extras));
-        final Bundle savedInstance = new Bundle();
-        mViewModel.onSaveInstanceState(savedInstance);
-        viewModel2.setCredentialModel(savedInstance, new Intent());
-
-        assertThat(mViewModel.getUserId()).isEqualTo(viewModel2.getUserId());
-        final byte[] token1 = mViewModel.getToken();
-        final byte[] token2 = viewModel2.getToken();
-        assertThat(token1).isNotNull();
-        assertThat(token2).isNotNull();
-        assertThat(token1.length).isEqualTo(token2.length);
-        for (int i = 0; i < token2.length; ++i) {
-            assertThat(token1[i]).isEqualTo(token2[i]);
-        }
-    }
-
-    @Test
-    public void testSetCredentialModel_sameResultFromSavedInstanceOrIntent_invalidValues() {
-        final Bundle extras = newCredentialModelIntentExtras(UserHandle.USER_NULL,
-                INVALID_CHALLENGE, null, INVALID_GK_PW_HANDLE);
-
-        AutoCredentialViewModel viewModel2 = new AutoCredentialViewModel(
-                ApplicationProvider.getApplicationContext(),
-                mLockPatternUtils,
-                mChallengeGenerator);
-
-        mViewModel.setCredentialModel(null, new Intent().putExtras(extras));
-        final Bundle savedInstance = new Bundle();
-        mViewModel.onSaveInstanceState(savedInstance);
-        viewModel2.setCredentialModel(savedInstance, new Intent());
-
-        assertThat(mViewModel.getUserId()).isEqualTo(UserHandle.USER_NULL);
-        assertThat(viewModel2.getUserId()).isEqualTo(UserHandle.USER_NULL);
-        assertThat(mViewModel.getToken()).isNull();
-        assertThat(viewModel2.getToken()).isNull();
-    }
-
-    @Test
-    public void testCheckCredential_validCredentialCase() {
-        final int userId = 99;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newValidTokenCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_VALID);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_needToChooseLock() {
-        final int userId = 100;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_UNSPECIFIED);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_needToConfirmLockForSomething() {
-        final int userId = 101;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_needToConfirmLockForNumeric() {
-        final int userId = 102;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_NUMERIC);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_needToConfirmLockForAlphabetic() {
-        final int userId = 103;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_ALPHABETIC);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_generateChallenge() {
-        final int userId = 104;
-        final long gkPwHandle = 1111L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        final int newSensorId = 10;
-        final long newChallenge = 20L;
-        setupGenerateChallenge(userId, newSensorId, newChallenge);
-        when(mLockPatternUtils.verifyGatekeeperPasswordHandle(gkPwHandle, newChallenge, userId))
-                .thenReturn(newGoodCredential(gkPwHandle, new byte[] { 1 }));
-
-        final AtomicBoolean hasCalledRemoveGkPwHandle = new AtomicBoolean();
-        doAnswer(invocation -> {
-            hasCalledRemoveGkPwHandle.set(true);
-            return null;
-        }).when(mLockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_IS_GENERATING_CHALLENGE);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check data inside CredentialModel
-        assertThat(mViewModel.getToken()).isNotNull();
-        assertThat(mChallengeGenerator.mCallbackRunCount).isEqualTo(1);
-        assertThat(hasCalledRemoveGkPwHandle.get()).isFalse();
-
-        // Check createGeneratingChallengeExtras()
-        final Bundle generatingChallengeExtras = mViewModel.createGeneratingChallengeExtras();
-        assertThat(generatingChallengeExtras).isNotNull();
-        assertThat(generatingChallengeExtras.getLong(EXTRA_KEY_CHALLENGE)).isEqualTo(newChallenge);
-        final byte[] tokens = generatingChallengeExtras.getByteArray(EXTRA_KEY_CHALLENGE_TOKEN);
-        assertThat(tokens).isNotNull();
-        assertThat(tokens.length).isEqualTo(1);
-        assertThat(tokens[0]).isEqualTo(1);
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isTrue();
-    }
-
-    @Test
-    public void testCheckCredential_generateChallengeFail() {
-        final int userId = 104;
-        final long gkPwHandle = 1111L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        final int newSensorId = 10;
-        final long newChallenge = 20L;
-        setupGenerateChallenge(userId, newSensorId, newChallenge);
-        when(mLockPatternUtils.verifyGatekeeperPasswordHandle(gkPwHandle, newChallenge, userId))
-                .thenReturn(newBadCredential(0));
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        assertThat(action).isEqualTo(CREDENTIAL_IS_GENERATING_CHALLENGE);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isTrue();
-        assertThat(mChallengeGenerator.mCallbackRunCount).isEqualTo(1);
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isTrue();
-    }
-
-    @Test
-    public void testGetUserId_fromIntent() {
-        final int userId = 106;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-
-        // Get userId
-        assertThat(mViewModel.getUserId()).isEqualTo(userId);
-    }
-
-    @Test
-    public void testGetUserId_fromSavedInstance() {
-        final int userId = 106;
-        final Bundle savedInstance = new Bundle();
-        savedInstance.putBundle(KEY_CREDENTIAL_MODEL,
-                newOnlySensorValidCredentialIntentExtras(userId));
-        mViewModel.setCredentialModel(savedInstance, new Intent());
-
-        // Get userId
-        assertThat(mViewModel.getUserId()).isEqualTo(userId);
-    }
-
-    @Test
-    public void testCreateGeneratingChallengeExtras_generateChallenge() {
-        final Bundle credentialExtras = newValidTokenCredentialIntentExtras(200);
-        final Bundle savedInstance = new Bundle();
-        savedInstance.putBundle(KEY_CREDENTIAL_MODEL, credentialExtras);
-        savedInstance.putBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL, true);
-        mViewModel.setCredentialModel(savedInstance, new Intent());
-
-        // Check createGeneratingChallengeExtras()
-        final Bundle actualExtras = mViewModel.createGeneratingChallengeExtras();
-        assertThat(actualExtras).isNotNull();
-        assertThat(actualExtras.getLong(EXTRA_KEY_CHALLENGE))
-                .isEqualTo(credentialExtras.getLong(EXTRA_KEY_CHALLENGE));
-        final byte[] actualToken = actualExtras.getByteArray(EXTRA_KEY_CHALLENGE_TOKEN);
-        final byte[] expectedToken = credentialExtras.getByteArray(EXTRA_KEY_CHALLENGE_TOKEN);
-        assertThat(actualToken).isNotNull();
-        assertThat(expectedToken).isNotNull();
-        assertThat(actualToken.length).isEqualTo(expectedToken.length);
-        for (int i = 0; i < actualToken.length; ++i) {
-            assertWithMessage("tokens[" + i + "] not match").that(actualToken[i])
-                    .isEqualTo(expectedToken[i]);
-        }
-    }
-
-    @Test
-    public void testCreateGeneratingChallengeExtras_notGenerateChallenge() {
-        final Bundle credentialExtras = newValidTokenCredentialIntentExtras(201);
-        final Bundle savedInstance = new Bundle();
-        savedInstance.putBundle(KEY_CREDENTIAL_MODEL, credentialExtras);
-        savedInstance.putBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL, false);
-        mViewModel.setCredentialModel(savedInstance, new Intent());
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-    }
-
-    @Test
-    public void testCreateGeneratingChallengeExtras_invalidToken() {
-        final Bundle credentialExtras = newOnlySensorValidCredentialIntentExtras(202);
-        final Bundle savedInstance = new Bundle();
-        savedInstance.putBundle(KEY_CREDENTIAL_MODEL, credentialExtras);
-        savedInstance.putBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL, true);
-        mViewModel.setCredentialModel(savedInstance, new Intent());
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_invalidChooseLock() {
-        final int userId = 107;
-        final long gkPwHandle = 3333L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-        final Intent intent = new Intent();
-        intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, gkPwHandle);
-
-        // run checkNewCredentialFromActivityResult()
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(true,
-                new ActivityResult(ChooseLockPattern.RESULT_FINISHED + 1, intent));
-
-        assertThat(ret).isFalse();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_invalidConfirmLock() {
-        final int userId = 107;
-        final long gkPwHandle = 3333L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-        final Intent intent = new Intent();
-        intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, gkPwHandle);
-
-        // run checkNewCredentialFromActivityResult()
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(false,
-                new ActivityResult(Activity.RESULT_OK + 1, intent));
-
-        assertThat(ret).isFalse();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_nullDataChooseLock() {
-        final int userId = 108;
-        final long gkPwHandle = 4444L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-
-        // run checkNewCredentialFromActivityResult()
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(true,
-                new ActivityResult(ChooseLockPattern.RESULT_FINISHED, null));
-
-        assertThat(ret).isFalse();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_nullDataConfirmLock() {
-        final int userId = 109;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-
-        // run checkNewCredentialFromActivityResult()
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(false,
-                new ActivityResult(Activity.RESULT_OK, null));
-
-        assertThat(ret).isFalse();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_validChooseLock() {
-        final int userId = 108;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        final long gkPwHandle = 6666L;
-        final int newSensorId = 50;
-        final long newChallenge = 60L;
-        setupGenerateChallenge(userId, newSensorId, newChallenge);
-        when(mLockPatternUtils.verifyGatekeeperPasswordHandle(gkPwHandle, newChallenge, userId))
-                .thenReturn(newGoodCredential(gkPwHandle, new byte[] { 1 }));
-
-        final AtomicBoolean hasCalledRemoveGkPwHandle = new AtomicBoolean();
-        doAnswer(invocation -> {
-            hasCalledRemoveGkPwHandle.set(true);
-            return null;
-        }).when(mLockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle);
-
-        // Run checkNewCredentialFromActivityResult()
-        final Intent intent = new Intent().putExtra(EXTRA_KEY_GK_PW_HANDLE, gkPwHandle);
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(true,
-                new ActivityResult(ChooseLockPattern.RESULT_FINISHED, intent));
-
-        assertThat(ret).isTrue();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-        assertThat(mViewModel.getToken()).isNotNull();
-        assertThat(mChallengeGenerator.mCallbackRunCount).isEqualTo(1);
-        assertThat(hasCalledRemoveGkPwHandle.get()).isTrue();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_validConfirmLock() {
-        final int userId = 109;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        final long gkPwHandle = 5555L;
-        final int newSensorId = 80;
-        final long newChallenge = 90L;
-        setupGenerateChallenge(userId, newSensorId, newChallenge);
-        when(mLockPatternUtils.verifyGatekeeperPasswordHandle(gkPwHandle, newChallenge, userId))
-                .thenReturn(newGoodCredential(gkPwHandle, new byte[] { 1 }));
-
-        final AtomicBoolean hasCalledRemoveGkPwHandle = new AtomicBoolean();
-        doAnswer(invocation -> {
-            hasCalledRemoveGkPwHandle.set(true);
-            return null;
-        }).when(mLockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle);
-
-        // Run checkNewCredentialFromActivityResult()
-        final Intent intent = new Intent().putExtra(EXTRA_KEY_GK_PW_HANDLE, gkPwHandle);
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(false,
-                new ActivityResult(Activity.RESULT_OK, intent));
-
-        assertThat(ret).isTrue();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-        assertThat(mViewModel.getToken()).isNotNull();
-        assertThat(mChallengeGenerator.mCallbackRunCount).isEqualTo(1);
-        assertThat(hasCalledRemoveGkPwHandle.get()).isTrue();
-    }
-
-    public static class TestChallengeGenerator implements ChallengeGenerator {
-        public int mSensorId = -1;
-        public int mUserId = UserHandle.myUserId();
-        public long mChallenge = INVALID_CHALLENGE;
-        public int mCallbackRunCount = 0;
-        private GenerateChallengeCallback mCallback;
-
-        @Nullable
-        @Override
-        public GenerateChallengeCallback getCallback() {
-            return mCallback;
-        }
-
-        @Override
-        public void setCallback(@Nullable GenerateChallengeCallback callback) {
-            mCallback = callback;
-        }
-
-        @Override
-        public void generateChallenge(int userId) {
-            final GenerateChallengeCallback callback = mCallback;
-            if (callback == null) {
-                return;
-            }
-            callback.onChallengeGenerated(mSensorId, mUserId, mChallenge);
-            ++mCallbackRunCount;
-        }
-    }
-
-    private VerifyCredentialResponse newGoodCredential(long gkPwHandle, @NonNull byte[] hat) {
-        return new VerifyCredentialResponse.Builder()
-                .setGatekeeperPasswordHandle(gkPwHandle)
-                .setGatekeeperHAT(hat)
-                .build();
-    }
-
-    private VerifyCredentialResponse newBadCredential(int timeout) {
-        if (timeout > 0) {
-            return VerifyCredentialResponse.fromTimeout(timeout);
-        } else {
-            return VerifyCredentialResponse.fromError();
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt
new file mode 100644
index 0000000..976caed
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt
@@ -0,0 +1,534 @@
+/*
+ * 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.biometrics2.ui.viewmodel
+
+import android.app.Activity
+import android.app.admin.DevicePolicyManager
+import android.content.Intent
+import android.os.Bundle
+import android.os.SystemClock
+import android.os.UserHandle
+import androidx.activity.result.ActivityResult
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.internal.widget.LockPatternUtils
+import com.android.internal.widget.VerifyCredentialResponse
+import com.android.settings.biometrics.BiometricEnrollBase
+import com.android.settings.biometrics2.ui.model.CredentialModel
+import com.android.settings.biometrics2.ui.model.CredentialModelTest.Companion.newGkPwHandleCredentialIntentExtras
+import com.android.settings.biometrics2.ui.model.CredentialModelTest.Companion.newOnlySensorValidCredentialIntentExtras
+import com.android.settings.biometrics2.ui.model.CredentialModelTest.Companion.newValidTokenCredentialIntentExtras
+import com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.ChallengeGenerator
+import com.android.settings.password.ChooseLockPattern
+import com.android.settings.password.ChooseLockSettingsHelper
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.toList
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.Mockito
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import java.util.concurrent.atomic.AtomicBoolean
+import org.mockito.Mockito.`when` as whenever
+
+@RunWith(AndroidJUnit4::class)
+class AutoCredentialViewModelTest {
+
+    @get:Rule val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Mock private lateinit var lockPatternUtils: LockPatternUtils
+
+    private var challengeGenerator: TestChallengeGenerator = TestChallengeGenerator()
+
+    private lateinit var viewModel: AutoCredentialViewModel
+    private fun newAutoCredentialViewModel(bundle: Bundle?): AutoCredentialViewModel {
+        return AutoCredentialViewModel(
+            ApplicationProvider.getApplicationContext(),
+            lockPatternUtils,
+            challengeGenerator,
+            CredentialModel(bundle, SystemClock.elapsedRealtimeClock())
+        )
+    }
+
+    @Before
+    fun setUp() {
+        challengeGenerator = TestChallengeGenerator()
+    }
+
+    private fun setupGenerateChallenge(userId: Int, newSensorId: Int, newChallenge: Long) {
+        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
+        )
+        challengeGenerator.userId = userId
+        challengeGenerator.sensorId = newSensorId
+        challengeGenerator.challenge = newChallenge
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckCredential_validCredentialCase() = runTest {
+        val userId = 99
+        viewModel = newAutoCredentialViewModel(newValidTokenCredentialIntentExtras(userId))
+        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
+        )
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run credential check
+        val action = viewModel.checkCredential(backgroundScope)
+        runCurrent()
+
+        // Check viewModel behavior
+        assertThat(action).isEqualTo(CredentialAction.CREDENTIAL_VALID)
+        assertThat(generateFails.size).isEqualTo(0)
+
+        // Check createGeneratingChallengeExtras()
+        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckCredential_needToChooseLock() = runTest {
+        val userId = 100
+        viewModel = newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
+        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+            DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED
+        )
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run credential check
+        val action = viewModel.checkCredential(backgroundScope)
+        runCurrent()
+
+        // Check viewModel behavior
+        assertThat(action).isEqualTo(CredentialAction.FAIL_NEED_TO_CHOOSE_LOCK)
+        assertThat(generateFails.size).isEqualTo(0)
+
+        // Check createGeneratingChallengeExtras()
+        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckCredential_needToConfirmLockForSomething() = runTest {
+        val userId = 101
+        viewModel =
+            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
+        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
+        )
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run credential check
+        val action = viewModel.checkCredential(backgroundScope)
+        runCurrent()
+
+        // Check viewModel behavior
+        assertThat(action).isEqualTo(CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK)
+        assertThat(generateFails.size).isEqualTo(0)
+
+        // Check createGeneratingChallengeExtras()
+        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckCredential_needToConfirmLockForNumeric() = runTest {
+        val userId = 102
+        viewModel =
+            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
+        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+            DevicePolicyManager.PASSWORD_QUALITY_NUMERIC
+        )
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run credential check
+        val action = viewModel.checkCredential(backgroundScope)
+        runCurrent()
+
+        // Check viewModel behavior
+        assertThat(action).isEqualTo(CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK)
+        assertThat(generateFails.size).isEqualTo(0)
+
+        // Check createGeneratingChallengeExtras()
+        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckCredential_needToConfirmLockForAlphabetic() = runTest {
+        val userId = 103
+        viewModel =
+            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
+        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+            DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC
+        )
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run credential check
+        val action = viewModel.checkCredential(this)
+        runCurrent()
+
+        // Check viewModel behavior
+        assertThat(action).isEqualTo(CredentialAction.FAIL_NEED_TO_CONFIRM_LOCK)
+        assertThat(generateFails.size).isEqualTo(0)
+
+        // Check createGeneratingChallengeExtras()
+        assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckCredential_generateChallenge() = runTest {
+        val userId = 104
+        val gkPwHandle = 1111L
+        viewModel =
+            newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
+        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
+        )
+        val newSensorId = 10
+        val newChallenge = 20L
+        setupGenerateChallenge(userId, newSensorId, newChallenge)
+        whenever(
+            lockPatternUtils.verifyGatekeeperPasswordHandle(
+                gkPwHandle,
+                newChallenge,
+                userId
+            )
+        )
+            .thenReturn(newGoodCredential(gkPwHandle, byteArrayOf(1)))
+        val hasCalledRemoveGkPwHandle = AtomicBoolean()
+        Mockito.doAnswer {
+            hasCalledRemoveGkPwHandle.set(true)
+            null
+        }.`when`(lockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle)
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run credential check
+        val action = viewModel.checkCredential(backgroundScope)
+        runCurrent()
+
+        // Check viewModel behavior
+        assertThat(action).isEqualTo(CredentialAction.IS_GENERATING_CHALLENGE)
+        assertThat(generateFails.size).isEqualTo(0)
+
+        // Check data inside CredentialModel
+        assertThat(viewModel.token).isNotNull()
+        assertThat(challengeGenerator.callbackRunCount).isEqualTo(1)
+        assertThat(hasCalledRemoveGkPwHandle.get()).isFalse()
+
+        // Check createGeneratingChallengeExtras()
+        val generatingChallengeExtras = viewModel.createGeneratingChallengeExtras()
+        assertThat(generatingChallengeExtras).isNotNull()
+        assertThat(generatingChallengeExtras!!.getLong(BiometricEnrollBase.EXTRA_KEY_CHALLENGE))
+            .isEqualTo(newChallenge)
+        val tokens =
+            generatingChallengeExtras.getByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
+        assertThat(tokens).isNotNull()
+        assertThat(tokens!!.size).isEqualTo(1)
+        assertThat(tokens[0]).isEqualTo(1)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckCredential_generateChallengeFail() = runTest {
+        backgroundScope.launch {
+            val userId = 104
+            val gkPwHandle = 1111L
+            viewModel =
+                newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
+            whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+                DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
+            )
+            val newSensorId = 10
+            val newChallenge = 20L
+            setupGenerateChallenge(userId, newSensorId, newChallenge)
+            whenever(
+                lockPatternUtils.verifyGatekeeperPasswordHandle(
+                    gkPwHandle,
+                    newChallenge,
+                    userId
+                )
+            )
+                .thenReturn(newBadCredential(0))
+
+            val generateFails = listOfGenerateChallengeFailedFlow()
+
+            // Run credential check
+            val action = viewModel.checkCredential(this)
+            runCurrent()
+
+            assertThat(action).isEqualTo(CredentialAction.IS_GENERATING_CHALLENGE)
+            assertThat(generateFails.size).isEqualTo(1)
+            assertThat(generateFails[0]).isEqualTo(true)
+            assertThat(challengeGenerator.callbackRunCount).isEqualTo(1)
+
+            // Check createGeneratingChallengeExtras()
+            assertThat(viewModel.createGeneratingChallengeExtras()).isNull()
+        }
+    }
+
+    @Test
+    fun testGetUserId_fromIntent() {
+        val userId = 106
+        viewModel = newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
+
+        // Get userId
+        assertThat(viewModel.userId).isEqualTo(userId)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testGenerateChallengeAsCredentialActivityResult_invalidChooseLock() = runTest {
+        backgroundScope.launch {
+            val userId = 107
+            val gkPwHandle = 3333L
+            viewModel =
+                newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
+            val intent = Intent()
+            intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
+
+            val generateFails = listOfGenerateChallengeFailedFlow()
+
+            // Run generateChallengeAsCredentialActivityResult()
+            val ret = viewModel.generateChallengeAsCredentialActivityResult(
+                true,
+                ActivityResult(ChooseLockPattern.RESULT_FINISHED + 1, intent),
+                backgroundScope
+            )
+            runCurrent()
+
+            assertThat(ret).isFalse()
+            assertThat(generateFails.size).isEqualTo(0)
+        }
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testGenerateChallengeAsCredentialActivityResult_invalidConfirmLock() = runTest {
+        backgroundScope.launch {
+            val userId = 107
+            val gkPwHandle = 3333L
+            viewModel =
+                newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
+            val intent = Intent()
+            intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
+
+            val generateFails = listOfGenerateChallengeFailedFlow()
+
+            // Run generateChallengeAsCredentialActivityResult()
+            val ret = viewModel.generateChallengeAsCredentialActivityResult(
+                false,
+                ActivityResult(Activity.RESULT_OK + 1, intent),
+                backgroundScope
+            )
+            runCurrent()
+
+            assertThat(ret).isFalse()
+            assertThat(generateFails.size).isEqualTo(0)
+        }
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testGenerateChallengeAsCredentialActivityResult_nullDataChooseLock() = runTest {
+        val userId = 108
+        val gkPwHandle = 4444L
+        viewModel =
+            newAutoCredentialViewModel(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle))
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run generateChallengeAsCredentialActivityResult()
+        val ret = viewModel.generateChallengeAsCredentialActivityResult(
+            true,
+            ActivityResult(ChooseLockPattern.RESULT_FINISHED, null),
+            backgroundScope
+        )
+        runCurrent()
+
+        assertThat(ret).isFalse()
+        assertThat(generateFails.size).isEqualTo(0)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testGenerateChallengeAsCredentialActivityResult_nullDataConfirmLock() = runTest {
+        val userId = 109
+        viewModel =
+            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run generateChallengeAsCredentialActivityResult()
+        val ret = viewModel.generateChallengeAsCredentialActivityResult(
+            false,
+            ActivityResult(Activity.RESULT_OK, null),
+            backgroundScope
+        )
+        runCurrent()
+
+        assertThat(ret).isFalse()
+        assertThat(generateFails.size).isEqualTo(0)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testGenerateChallengeAsCredentialActivityResult_validChooseLock() = runTest {
+        val userId = 108
+        viewModel =
+            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
+        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
+        )
+        val gkPwHandle = 6666L
+        val newSensorId = 50
+        val newChallenge = 60L
+        setupGenerateChallenge(userId, newSensorId, newChallenge)
+        whenever(
+            lockPatternUtils.verifyGatekeeperPasswordHandle(
+                gkPwHandle,
+                newChallenge,
+                userId
+            )
+        )
+            .thenReturn(newGoodCredential(gkPwHandle, byteArrayOf(1)))
+        val hasCalledRemoveGkPwHandle = AtomicBoolean()
+        Mockito.doAnswer {
+            hasCalledRemoveGkPwHandle.set(true)
+            null
+        }.`when`(lockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle)
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run generateChallengeAsCredentialActivityResult()
+        val intent =
+            Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
+        val ret = viewModel.generateChallengeAsCredentialActivityResult(
+            true,
+            ActivityResult(ChooseLockPattern.RESULT_FINISHED, intent),
+            backgroundScope
+        )
+        runCurrent()
+
+        assertThat(ret).isTrue()
+        assertThat(generateFails.size).isEqualTo(0)
+        assertThat(viewModel.token).isNotNull()
+        assertThat(challengeGenerator.callbackRunCount).isEqualTo(1)
+        assertThat(hasCalledRemoveGkPwHandle.get()).isTrue()
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testGenerateChallengeAsCredentialActivityResult_validConfirmLock() = runTest {
+        val userId = 109
+        viewModel =
+            newAutoCredentialViewModel(newOnlySensorValidCredentialIntentExtras(userId))
+        whenever(lockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
+            DevicePolicyManager.PASSWORD_QUALITY_SOMETHING
+        )
+        val gkPwHandle = 5555L
+        val newSensorId = 80
+        val newChallenge = 90L
+        setupGenerateChallenge(userId, newSensorId, newChallenge)
+        whenever(
+            lockPatternUtils.verifyGatekeeperPasswordHandle(
+                gkPwHandle,
+                newChallenge,
+                userId
+            )
+        )
+            .thenReturn(newGoodCredential(gkPwHandle, byteArrayOf(1)))
+        val hasCalledRemoveGkPwHandle = AtomicBoolean()
+        Mockito.doAnswer {
+            hasCalledRemoveGkPwHandle.set(true)
+            null
+        }.`when`(lockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle)
+
+        val generateFails = listOfGenerateChallengeFailedFlow()
+
+        // Run generateChallengeAsCredentialActivityResult()
+        val intent =
+            Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle)
+        val ret = viewModel.generateChallengeAsCredentialActivityResult(
+            false,
+            ActivityResult(Activity.RESULT_OK, intent),
+            backgroundScope
+        )
+        runCurrent()
+
+        assertThat(ret).isTrue()
+        assertThat(generateFails.size).isEqualTo(0)
+        assertThat(viewModel.token).isNotNull()
+        assertThat(challengeGenerator.callbackRunCount).isEqualTo(1)
+        assertThat(hasCalledRemoveGkPwHandle.get()).isTrue()
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    private fun TestScope.listOfGenerateChallengeFailedFlow(): List<Boolean> =
+        mutableListOf<Boolean>().also {
+            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
+                viewModel.generateChallengeFailedFlow.toList(it)
+            }
+        }
+
+    class TestChallengeGenerator : ChallengeGenerator {
+        var sensorId = -1
+        var userId = UserHandle.myUserId()
+        var challenge = CredentialModel.INVALID_CHALLENGE
+        var callbackRunCount = 0
+
+        override var callback: AutoCredentialViewModel.GenerateChallengeCallback? = null
+
+        override fun generateChallenge(userId: Int) {
+            callback?.let {
+                it.onChallengeGenerated(sensorId, this.userId, challenge)
+                ++callbackRunCount
+            }
+        }
+    }
+
+    private fun newGoodCredential(gkPwHandle: Long, hat: ByteArray): VerifyCredentialResponse {
+        return VerifyCredentialResponse.Builder()
+            .setGatekeeperPasswordHandle(gkPwHandle)
+            .setGatekeeperHAT(hat)
+            .build()
+    }
+
+    private fun newBadCredential(timeout: Int): VerifyCredentialResponse {
+        return if (timeout > 0) {
+            VerifyCredentialResponse.fromTimeout(timeout)
+        } else {
+            VerifyCredentialResponse.fromError()
+        }
+    }
+}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.java
deleted file mode 100644
index 12b860b..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.java
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * Copyright (C) 2023 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.biometrics2.ui.viewmodel;
-
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
-
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX;
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_OK;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newAllFalseRequest;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwDeferredRequest;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwPortalRequest;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwRequest;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwSuggestedActionFlowRequest;
-import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository;
-import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupFingerprintEnrolledFingerprints;
-import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupSuwMaxFingerprintsEnrollable;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.Application;
-import android.content.res.Resources;
-import android.hardware.fingerprint.FingerprintManager;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.MutableLiveData;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest;
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus;
-import com.android.settings.testutils.InstantTaskExecutorRule;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-@RunWith(AndroidJUnit4.class)
-public class FingerprintEnrollIntroViewModelTest {
-
-    private static final int TEST_USER_ID = 33;
-
-    @Rule public final MockitoRule mockito = MockitoJUnit.rule();
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    @Mock private Resources mResources;
-    @Mock private FingerprintManager mFingerprintManager;
-
-    private Application mApplication;
-
-    private FingerprintEnrollIntroViewModel newFingerprintEnrollIntroViewModel(
-            @NonNull FingerprintRepository fingerprintRepository,
-            @NonNull EnrollmentRequest enrollmentRequest) {
-        final FingerprintEnrollIntroViewModel viewModel =
-                new FingerprintEnrollIntroViewModel(mApplication, fingerprintRepository,
-                        enrollmentRequest, TEST_USER_ID);
-        // MediatorLiveData won't update itself unless observed
-        viewModel.getPageStatusLiveData().observeForever(event -> {});
-        return viewModel;
-    }
-
-    @Before
-    public void setUp() {
-        mApplication = ApplicationProvider.getApplicationContext();
-    }
-
-    @Test
-    public void testPageStatusLiveDataDefaultValue() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-        final FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.hasScrollToBottom()).isFalse();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_OK);
-    }
-
-    @Test
-    public void testPageStatusLiveDataRefreshWhenRefetch() {
-        final FingerprintRepository repository = newFingerprintRepository(mFingerprintManager,
-                TYPE_UDFPS_OPTICAL, 1);
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                repository,
-                newAllFalseRequest(mApplication));
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.hasScrollToBottom()).isFalse();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_OK);
-
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 1);
-
-        // Refetch PageStatusLiveData
-        status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.hasScrollToBottom()).isFalse();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX);
-    }
-
-    @Test
-    public void testClearActionLiveData() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-
-        final MutableLiveData<Integer> actionLiveData =
-                (MutableLiveData<Integer>) viewModel.getActionLiveData();
-        actionLiveData.postValue(1);
-        assertThat(actionLiveData.getValue()).isEqualTo(1);
-
-        viewModel.clearActionLiveData();
-
-        assertThat(actionLiveData.getValue()).isNull();
-    }
-
-    @Test
-    public void testGetEnrollmentRequest() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-
-        assertThat(viewModel.getRequest()).isNotNull();
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isSuw() {
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 0);
-        setupSuwMaxFingerprintsEnrollable(mApplication, mResources, 1);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newIsSuwRequest(mApplication));
-        final FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_OK);
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isSuw() {
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 1);
-        setupSuwMaxFingerprintsEnrollable(mApplication, mResources, 1);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newIsSuwRequest(mApplication));
-        final FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX);
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isNotSuw() {
-        testOnStartToUpdateEnrollableStatusOk(newAllFalseRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isNotSuw() {
-        testOnStartToUpdateEnrollableStatusReachMax(newAllFalseRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isSuwDeferred() {
-        testOnStartToUpdateEnrollableStatusOk(newIsSuwDeferredRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isSuwDeferred() {
-        testOnStartToUpdateEnrollableStatusReachMax(newIsSuwDeferredRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isSuwPortal() {
-        testOnStartToUpdateEnrollableStatusOk(newIsSuwPortalRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isSuwPortal() {
-        testOnStartToUpdateEnrollableStatusReachMax(newIsSuwPortalRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isSuwSuggestedActionFlow() {
-        testOnStartToUpdateEnrollableStatusOk(newIsSuwSuggestedActionFlowRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isSuwSuggestedActionFlow() {
-        testOnStartToUpdateEnrollableStatusReachMax(
-                newIsSuwSuggestedActionFlowRequest(mApplication));
-    }
-
-    private void testOnStartToUpdateEnrollableStatusOk(@NonNull EnrollmentRequest request) {
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 0);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                request);
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_OK);
-    }
-
-    private void testOnStartToUpdateEnrollableStatusReachMax(@NonNull EnrollmentRequest request) {
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 5);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                request);
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX);
-    }
-
-    @Test
-    public void testIsParentalConsentRequired() {
-        // We shall not mock FingerprintRepository, but
-        // FingerprintRepository.isParentalConsentRequired() calls static method inside, we can't
-        // mock static method
-        final FingerprintRepository fingerprintRepository = mock(FingerprintRepository.class);
-        final FingerprintEnrollIntroViewModel viewModel = new FingerprintEnrollIntroViewModel(
-                mApplication, fingerprintRepository, newAllFalseRequest(mApplication),
-                TEST_USER_ID);
-
-        when(fingerprintRepository.isParentalConsentRequired(mApplication)).thenReturn(true);
-        assertThat(viewModel.isParentalConsentRequired()).isEqualTo(true);
-
-        when(fingerprintRepository.isParentalConsentRequired(mApplication)).thenReturn(false);
-        assertThat(viewModel.isParentalConsentRequired()).isEqualTo(false);
-    }
-
-    @Test
-    public void testIsBiometricUnlockDisabledByAdmin() {
-        // We shall not mock FingerprintRepository, but
-        // FingerprintRepository.isDisabledByAdmin() calls static method inside, we can't mock
-        // static method
-        final FingerprintRepository fingerprintRepository = mock(FingerprintRepository.class);
-        final FingerprintEnrollIntroViewModel viewModel = new FingerprintEnrollIntroViewModel(
-                mApplication, fingerprintRepository, newAllFalseRequest(mApplication),
-                TEST_USER_ID);
-
-        when(fingerprintRepository.isDisabledByAdmin(mApplication, TEST_USER_ID)).thenReturn(true);
-        assertThat(viewModel.isBiometricUnlockDisabledByAdmin()).isEqualTo(true);
-
-        when(fingerprintRepository.isDisabledByAdmin(mApplication, TEST_USER_ID)).thenReturn(false);
-        assertThat(viewModel.isBiometricUnlockDisabledByAdmin()).isEqualTo(false);
-    }
-
-    @Test
-    public void testSetHasScrolledToBottom() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-
-        viewModel.setHasScrolledToBottom(true);
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.hasScrollToBottom()).isEqualTo(true);
-
-        viewModel.setHasScrolledToBottom(false);
-        status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.hasScrollToBottom()).isEqualTo(false);
-    }
-
-    @Test
-    public void testOnNextButtonClick_enrollNext() {
-        // Set latest status to FINGERPRINT_ENROLLABLE_OK
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 0);
-        setupSuwMaxFingerprintsEnrollable(mApplication, mResources, 1);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newIsSuwRequest(mApplication));
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_OK);
-
-        // Perform click on `next`
-        viewModel.onNextButtonClick();
-
-        assertThat(viewModel.getActionLiveData().getValue())
-                .isEqualTo(FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL);
-    }
-
-    @Test
-    public void testOnNextButtonClick_doneAndFinish() {
-        // Set latest status to FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 1);
-        setupSuwMaxFingerprintsEnrollable(mApplication, mResources, 1);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newIsSuwRequest(mApplication));
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX);
-
-        // Perform click on `next`
-        viewModel.onNextButtonClick();
-
-        assertThat(viewModel.getActionLiveData().getValue())
-                .isEqualTo(FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH);
-    }
-
-    @Test
-    public void testOnSkipOrCancelButtonClick() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-
-        viewModel.onSkipOrCancelButtonClick();
-
-        assertThat(viewModel.getActionLiveData().getValue())
-                .isEqualTo(FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.kt
new file mode 100644
index 0000000..08e5ac3
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.kt
@@ -0,0 +1,377 @@
+/*
+ * 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.biometrics2.ui.viewmodel
+
+import android.app.Application
+import android.content.res.Resources
+import android.hardware.fingerprint.FingerprintManager
+import android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.biometrics2.data.repository.FingerprintRepository
+import com.android.settings.biometrics2.ui.model.EnrollmentRequest
+import com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus
+import com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
+import com.android.settings.biometrics2.ui.model.FingerprintEnrollable.FINGERPRINT_ENROLLABLE_OK
+import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.CONTINUE_ENROLL
+import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.DONE_AND_FINISH
+import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroAction.SKIP_OR_CANCEL
+import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newAllFalseRequest
+import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwDeferredRequest
+import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwPortalRequest
+import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwRequest
+import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwSuggestedActionFlowRequest
+import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository
+import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupFingerprintEnrolledFingerprints
+import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupSuwMaxFingerprintsEnrollable
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.toList
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.Mockito
+import org.mockito.junit.MockitoJUnit
+
+@RunWith(AndroidJUnit4::class)
+class FingerprintEnrollIntroViewModelTest {
+
+    @get:Rule val mockito = MockitoJUnit.rule()
+
+    @Mock private lateinit var resources: Resources
+    @Mock private lateinit var fingerprintManager: FingerprintManager
+
+    private var application: Application = ApplicationProvider.getApplicationContext()
+
+    private fun newFingerprintEnrollIntroViewModel(
+        fingerprintRepository: FingerprintRepository,
+        enrollmentRequest: EnrollmentRequest
+    ) = FingerprintEnrollIntroViewModel(
+        application,
+        fingerprintRepository,
+        enrollmentRequest,
+        TEST_USER_ID
+    )
+
+    @Before
+    fun setUp() {
+        application = ApplicationProvider.getApplicationContext()
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testPageStatusFlowDefaultAndUpdate() = runTest {
+        val viewModel = newFingerprintEnrollIntroViewModel(
+            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 1),
+            newAllFalseRequest(application)
+        )
+
+        val statusList = listOfPageStatusFlow(viewModel)
+
+        runCurrent()
+
+        // assert default values
+        assertThat(statusList.size).isEqualTo(1)
+        assertThat(statusList[0].hasScrollToBottom()).isFalse()
+        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_OK)
+
+        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 1)
+        viewModel.updateEnrollableStatus(backgroundScope)
+        runCurrent()
+
+        // assert new updated value
+        assertThat(statusList.size).isEqualTo(2)
+        assertThat(statusList[1].hasScrollToBottom()).isFalse()
+        assertThat(statusList[1].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    fun testOnStartToUpdateEnrollableStatusOk_isSuw() = runTest {
+        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 0)
+        setupSuwMaxFingerprintsEnrollable(application, resources, 1)
+        val viewModel = newFingerprintEnrollIntroViewModel(
+            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
+            newIsSuwRequest(application)
+        )
+
+        val statusList = listOfPageStatusFlow(viewModel)
+
+        runCurrent()
+
+        assertThat(statusList.size).isEqualTo(1)
+        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_OK)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnStartToUpdateEnrollableStatusReachMax_isSuw() = runTest {
+        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 1)
+        setupSuwMaxFingerprintsEnrollable(application, resources, 1)
+        val viewModel = newFingerprintEnrollIntroViewModel(
+            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
+            newIsSuwRequest(application)
+        )
+
+        val statusList = listOfPageStatusFlow(viewModel)
+
+        runCurrent()
+
+        assertThat(statusList.size).isEqualTo(1)
+        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnStartToUpdateEnrollableStatusOk_isNotSuw() = runTest {
+        testOnStartToUpdateEnrollableStatusOk(newAllFalseRequest(application))
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnStartToUpdateEnrollableStatusReachMax_isNotSuw() = runTest {
+        testOnStartToUpdateEnrollableStatusReachMax(newAllFalseRequest(application))
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnStartToUpdateEnrollableStatusOk_isSuwDeferred() = runTest {
+        testOnStartToUpdateEnrollableStatusOk(newIsSuwDeferredRequest(application))
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnStartToUpdateEnrollableStatusReachMax_isSuwDeferred() = runTest {
+        testOnStartToUpdateEnrollableStatusReachMax(newIsSuwDeferredRequest(application))
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnStartToUpdateEnrollableStatusOk_isSuwPortal() = runTest {
+        testOnStartToUpdateEnrollableStatusOk(newIsSuwPortalRequest(application))
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnStartToUpdateEnrollableStatusReachMax_isSuwPortal() = runTest {
+        testOnStartToUpdateEnrollableStatusReachMax(newIsSuwPortalRequest(application))
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnStartToUpdateEnrollableStatusOk_isSuwSuggestedActionFlow() = runTest {
+        testOnStartToUpdateEnrollableStatusOk(newIsSuwSuggestedActionFlowRequest(application))
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnStartToUpdateEnrollableStatusReachMax_isSuwSuggestedActionFlow() = runTest {
+        testOnStartToUpdateEnrollableStatusReachMax(
+            newIsSuwSuggestedActionFlowRequest(application)
+        )
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    private fun TestScope.testOnStartToUpdateEnrollableStatusOk(request: EnrollmentRequest) {
+        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 0)
+        val viewModel = newFingerprintEnrollIntroViewModel(
+            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
+            request
+        )
+
+        val statusList = listOfPageStatusFlow(viewModel)
+
+        runCurrent()
+
+        assertThat(statusList.size).isEqualTo(1)
+        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_OK)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    private fun TestScope.testOnStartToUpdateEnrollableStatusReachMax(request: EnrollmentRequest) {
+        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 5)
+        val viewModel = newFingerprintEnrollIntroViewModel(
+            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
+            request
+        )
+
+        val statusList = listOfPageStatusFlow(viewModel)
+
+        runCurrent()
+
+        assertThat(statusList.size).isEqualTo(1)
+        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
+    }
+
+    @Test
+    fun testIsParentalConsentRequired() {
+        // We shall not mock FingerprintRepository, but
+        // FingerprintRepository.isParentalConsentRequired() calls static method inside, we can't
+        // mock static method
+        val fingerprintRepository = Mockito.mock(
+            FingerprintRepository::class.java
+        )
+        val viewModel = FingerprintEnrollIntroViewModel(
+            application,
+            fingerprintRepository,
+            newAllFalseRequest(application),
+            TEST_USER_ID
+        )
+        Mockito.`when`(
+            fingerprintRepository.isParentalConsentRequired(application)
+        ).thenReturn(true)
+        assertThat(viewModel.isParentalConsentRequired).isEqualTo(true)
+        Mockito.`when`(
+            fingerprintRepository.isParentalConsentRequired(application)
+        ).thenReturn(false)
+        assertThat(viewModel.isParentalConsentRequired).isEqualTo(false)
+    }
+
+    @Test
+    fun testIsBiometricUnlockDisabledByAdmin() {
+        // We shall not mock FingerprintRepository, but
+        // FingerprintRepository.isDisabledByAdmin() calls static method inside, we can't mock
+        // static method
+        val fingerprintRepository = Mockito.mock(FingerprintRepository::class.java)
+        val viewModel = FingerprintEnrollIntroViewModel(
+            application,
+            fingerprintRepository,
+            newAllFalseRequest(application),
+            TEST_USER_ID
+        )
+        Mockito.`when`(
+            fingerprintRepository.isDisabledByAdmin(application, TEST_USER_ID)
+        ).thenReturn(true)
+        assertThat(viewModel.isBiometricUnlockDisabledByAdmin).isEqualTo(true)
+        Mockito.`when`(
+            fingerprintRepository.isDisabledByAdmin(application, TEST_USER_ID)
+        ).thenReturn(false)
+        assertThat(viewModel.isBiometricUnlockDisabledByAdmin).isEqualTo(false)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testSetHasScrolledToBottom() = runTest {
+        val viewModel = newFingerprintEnrollIntroViewModel(
+            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
+            newAllFalseRequest(application)
+        )
+
+        val pageStatusList = listOfPageStatusFlow(viewModel)
+
+        viewModel.setHasScrolledToBottom(true, backgroundScope)
+        runCurrent()
+
+        assertThat(pageStatusList[pageStatusList.size-1].hasScrollToBottom()).isEqualTo(true)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnNextButtonClick_enrollNext() = runTest {
+        // Set latest status to FINGERPRINT_ENROLLABLE_OK
+        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 0)
+        setupSuwMaxFingerprintsEnrollable(application, resources, 1)
+        val viewModel = newFingerprintEnrollIntroViewModel(
+            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
+            newIsSuwRequest(application)
+        )
+
+        val actions = listOfActionFlow(viewModel)
+
+        // Perform click on `next`
+        viewModel.onNextButtonClick(backgroundScope)
+        runCurrent()
+
+        assertThat(actions.size).isEqualTo(1)
+        assertThat(actions[0]).isEqualTo(CONTINUE_ENROLL)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnNextButtonClick_doneAndFinish() = runTest {
+        // Set latest status to FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
+        setupFingerprintEnrolledFingerprints(fingerprintManager, TEST_USER_ID, 1)
+        setupSuwMaxFingerprintsEnrollable(application, resources, 1)
+        val viewModel = newFingerprintEnrollIntroViewModel(
+            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
+            newIsSuwRequest(application)
+        )
+
+        val statusList = listOfPageStatusFlow(viewModel)
+        val actionList = listOfActionFlow(viewModel)
+
+        runCurrent()
+
+        assertThat(statusList.size).isEqualTo(1)
+        assertThat(statusList[0].enrollableStatus).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX)
+
+        val actions = listOfActionFlow(viewModel)
+
+        // Perform click on `next`
+        viewModel.onNextButtonClick(backgroundScope)
+        runCurrent()
+
+        assertThat(actionList.size).isEqualTo(1)
+        assertThat(actionList[0]).isEqualTo(DONE_AND_FINISH)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testOnSkipOrCancelButtonClick() = runTest {
+        val viewModel = newFingerprintEnrollIntroViewModel(
+            newFingerprintRepository(fingerprintManager, TYPE_UDFPS_OPTICAL, 5),
+            newAllFalseRequest(application)
+        )
+
+        val actions = listOfActionFlow(viewModel)
+
+        viewModel.onSkipOrCancelButtonClick(backgroundScope)
+        runCurrent()
+
+        assertThat(actions.size).isEqualTo(1)
+        assertThat(actions[0]).isEqualTo(SKIP_OR_CANCEL)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    private fun TestScope.listOfActionFlow(
+        viewModel: FingerprintEnrollIntroViewModel
+    ): List<FingerprintEnrollIntroAction> =
+        mutableListOf<FingerprintEnrollIntroAction>().also {
+            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
+                viewModel.actionFlow.toList(it)
+            }
+        }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    private fun TestScope.listOfPageStatusFlow(
+        viewModel: FingerprintEnrollIntroViewModel
+    ): List<FingerprintEnrollIntroStatus> =
+        mutableListOf<FingerprintEnrollIntroStatus>().also {
+            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
+                viewModel.pageStatusFlow.toList(it)
+            }
+        }
+
+    companion object {
+        private const val TEST_USER_ID = 33
+    }
+}
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.kt b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.kt
index 9f339de..bee91c9 100644
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.kt
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.kt
@@ -23,12 +23,20 @@
 import androidx.activity.result.ActivityResult
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.biometrics.BiometricEnrollBase
 import com.android.settings.biometrics2.data.repository.FingerprintRepository
 import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newAllFalseRequest
+import com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwRequest
 import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository
 import com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.setupFingerprintEnrolledFingerprints
-import com.android.settings.testutils.InstantTaskExecutorRule
-import com.google.common.truth.Truth
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.ExperimentalCoroutinesApi
+import kotlinx.coroutines.flow.toList
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.UnconfinedTestDispatcher
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
 import org.junit.Before
 import org.junit.Rule
 import org.junit.Test
@@ -42,8 +50,6 @@
 
     @get:Rule val mockito: MockitoRule = MockitoJUnit.rule()
 
-    @get:Rule val taskExecutorRule = InstantTaskExecutorRule()
-
     private val application: Application
         get() = ApplicationProvider.getApplicationContext()
 
@@ -69,12 +75,12 @@
 
     @Test
     fun testGetRequest() {
-        Truth.assertThat(viewModel.request).isNotNull()
+        assertThat(viewModel.request).isNotNull()
     }
 
     @Test
     fun testIsWaitingActivityResultDefaultFalse() {
-        Truth.assertThat(viewModel.isWaitingActivityResult.value).isFalse()
+        assertThat(viewModel.isWaitingActivityResult.value).isFalse()
     }
 
 
@@ -83,8 +89,8 @@
         val retResult = viewModel.getOverrideActivityResult(
             ActivityResult(22, null), null
         )
-        Truth.assertThat(retResult).isNotNull()
-        Truth.assertThat(retResult.data).isNull()
+        assertThat(retResult).isNotNull()
+        assertThat(retResult.data).isNull()
     }
 
     @Test
@@ -93,8 +99,8 @@
         val retResult = viewModel.getOverrideActivityResult(
             ActivityResult(33, intent), null
         )
-        Truth.assertThat(retResult).isNotNull()
-        Truth.assertThat(retResult.data).isEqualTo(intent)
+        assertThat(retResult).isNotNull()
+        assertThat(retResult.data).isEqualTo(intent)
     }
 
     @Test
@@ -106,8 +112,8 @@
             ActivityResult(33, null), extra
         )
 
-        Truth.assertThat(retResult).isNotNull()
-        Truth.assertThat(retResult.data).isNull()
+        assertThat(retResult).isNotNull()
+        assertThat(retResult.data).isNull()
     }
 
     @Test
@@ -124,16 +130,16 @@
         val retResult = viewModel.getOverrideActivityResult(
             ActivityResult(33, null), extra
         )
-        Truth.assertThat(retResult).isNotNull()
+        assertThat(retResult).isNotNull()
 
         val retIntent = retResult.data
-        Truth.assertThat(retIntent).isNotNull()
+        assertThat(retIntent).isNotNull()
 
         val retExtra = retIntent!!.extras
-        Truth.assertThat(retExtra).isNotNull()
-        Truth.assertThat(retExtra!!.size).isEqualTo(extra.size)
-        Truth.assertThat(retExtra.getString(key1)).isEqualTo(extra.getString(key1))
-        Truth.assertThat(retExtra.getInt(key2)).isEqualTo(extra.getInt(key2))
+        assertThat(retExtra).isNotNull()
+        assertThat(retExtra!!.size).isEqualTo(extra.size)
+        assertThat(retExtra.getString(key1)).isEqualTo(extra.getString(key1))
+        assertThat(retExtra.getInt(key2)).isEqualTo(extra.getInt(key2))
     }
 
     @Test
@@ -149,15 +155,15 @@
 
         val retResult = viewModel.getOverrideActivityResult(ActivityResult(33, intent), extra)
 
-        Truth.assertThat(retResult).isNotNull()
+        assertThat(retResult).isNotNull()
 
         val retIntent = retResult.data
-        Truth.assertThat(retIntent).isNotNull()
+        assertThat(retIntent).isNotNull()
 
         val retExtra = retIntent!!.extras
-        Truth.assertThat(retExtra).isNotNull()
-        Truth.assertThat(retExtra!!.size).isEqualTo(intent.extras!!.size)
-        Truth.assertThat(retExtra.getString(key2)).isEqualTo(intent.extras!!.getString(key2))
+        assertThat(retExtra).isNotNull()
+        assertThat(retExtra!!.size).isEqualTo(intent.extras!!.size)
+        assertThat(retExtra.getString(key2)).isEqualTo(intent.extras!!.getString(key2))
     }
 
     @Test
@@ -177,17 +183,17 @@
         viewModel.isNewFingerprintAdded = true
 
         val retResult = viewModel.getOverrideActivityResult(ActivityResult(33, intent), extra)
-        Truth.assertThat(retResult).isNotNull()
+        assertThat(retResult).isNotNull()
 
         val retIntent = retResult.data
-        Truth.assertThat(retIntent).isNotNull()
+        assertThat(retIntent).isNotNull()
 
         val retExtra = retIntent!!.extras
-        Truth.assertThat(retExtra).isNotNull()
-        Truth.assertThat(retExtra!!.size).isEqualTo(extra.size + intent.extras!!.size)
-        Truth.assertThat(retExtra.getString(key1)).isEqualTo(extra.getString(key1))
-        Truth.assertThat(retExtra.getInt(key2)).isEqualTo(extra.getInt(key2))
-        Truth.assertThat(retExtra.getLong(key3)).isEqualTo(intent.extras!!.getLong(key3))
+        assertThat(retExtra).isNotNull()
+        assertThat(retExtra!!.size).isEqualTo(extra.size + intent.extras!!.size)
+        assertThat(retExtra.getString(key1)).isEqualTo(extra.getString(key1))
+        assertThat(retExtra.getInt(key2)).isEqualTo(extra.getInt(key2))
+        assertThat(retExtra.getLong(key3)).isEqualTo(intent.extras!!.getLong(key3))
     }
 
     @Test
@@ -205,18 +211,120 @@
         )
 
         setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 0)
-        Truth.assertThat(viewModel.isMaxEnrolledReached(uid)).isFalse()
+        assertThat(viewModel.isMaxEnrolledReached(uid)).isFalse()
 
         setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 1)
-        Truth.assertThat(viewModel.isMaxEnrolledReached(uid)).isFalse()
+        assertThat(viewModel.isMaxEnrolledReached(uid)).isFalse()
 
         setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 2)
-        Truth.assertThat(viewModel.isMaxEnrolledReached(uid)).isFalse()
+        assertThat(viewModel.isMaxEnrolledReached(uid)).isFalse()
 
         setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 3)
-        Truth.assertThat(viewModel.isMaxEnrolledReached(uid)).isTrue()
+        assertThat(viewModel.isMaxEnrolledReached(uid)).isTrue()
 
         setupFingerprintEnrolledFingerprints(fingerprintManager, uid, 4)
-        Truth.assertThat(viewModel.isMaxEnrolledReached(uid)).isTrue()
+        assertThat(viewModel.isMaxEnrolledReached(uid)).isTrue()
     }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testSetResultFlow_defaultEmpty() = runTest {
+        val activityResults = listOfSetResultFlow()
+
+        runCurrent()
+
+        assertThat(activityResults.size).isEqualTo(0)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckFinishActivityDuringOnPause_doNothingIfIsSuw() = runTest {
+        viewModel = FingerprintEnrollmentViewModel(
+            application,
+            fingerprintRepository,
+            newIsSuwRequest(application)
+        )
+
+        val activityResults = listOfSetResultFlow()
+
+        viewModel.checkFinishActivityDuringOnPause(
+            isActivityFinishing = false,
+            isChangingConfigurations = false,
+            scope = this
+        )
+        runCurrent()
+
+        assertThat(activityResults.size).isEqualTo(0)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckFinishActivityDuringOnPause_doNothingIfIsWaitingActivity() = runTest {
+        val activityResults = listOfSetResultFlow()
+
+        viewModel.isWaitingActivityResult.value = true
+        viewModel.checkFinishActivityDuringOnPause(
+            isActivityFinishing = false,
+            isChangingConfigurations = false,
+            scope = this
+        )
+        runCurrent()
+
+        assertThat(activityResults.size).isEqualTo(0)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckFinishActivityDuringOnPause_doNothingIfIsActivityFinishing() = runTest {
+        val activityResults = listOfSetResultFlow()
+
+        viewModel.checkFinishActivityDuringOnPause(
+            isActivityFinishing = true,
+            isChangingConfigurations = false,
+            scope = this
+        )
+        runCurrent()
+
+        assertThat(activityResults.size).isEqualTo(0)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckFinishActivityDuringOnPause_doNothingIfIsChangingConfigurations() = runTest {
+        val activityResults = listOfSetResultFlow()
+
+        viewModel.checkFinishActivityDuringOnPause(
+            isActivityFinishing = false,
+            isChangingConfigurations = true,
+            scope = this
+        )
+        runCurrent()
+
+        assertThat(activityResults.size).isEqualTo(0)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    @Test
+    fun testCheckFinishActivityDuringOnPause_defaultFinishSelf() = runTest {
+        val activityResults = listOfSetResultFlow()
+
+        viewModel.checkFinishActivityDuringOnPause(
+            isActivityFinishing = false,
+            isChangingConfigurations = false,
+            scope = backgroundScope
+        )
+        runCurrent()
+
+        assertThat(activityResults.size).isEqualTo(1)
+        assertThat(activityResults[0].resultCode).isEqualTo(BiometricEnrollBase.RESULT_TIMEOUT)
+        assertThat(activityResults[0].data).isEqualTo(null)
+    }
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    private fun TestScope.listOfSetResultFlow(): List<ActivityResult> =
+        mutableListOf<ActivityResult>().also {
+            backgroundScope.launch(UnconfinedTestDispatcher(testScheduler)) {
+                viewModel.setResultFlow.toList(it)
+            }
+        }
 }
diff --git a/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
index 8c24cbb..1eb670f 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
@@ -35,7 +35,6 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
@@ -53,7 +52,6 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.telephony.UiccCardInfo;
-import android.telephony.UiccPortInfo;
 import android.telephony.euicc.EuiccManager;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -61,7 +59,6 @@
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
-import com.android.settings.R;
 import com.android.settings.testutils.ResourcesUtils;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -73,13 +70,10 @@
 import org.mockito.MockitoAnnotations;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicReference;
 
 @RunWith(AndroidJUnit4.class)
 public class SimStatusDialogControllerTest {
@@ -405,7 +399,7 @@
         mController.initialize();
 
         verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
-                mContext.getString(R.string.ims_reg_status_registered));
+                mContext.getString(com.android.settingslib.R.string.ims_reg_status_registered));
     }
 
     @Test
@@ -418,7 +412,7 @@
         mController.initialize();
 
         verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
-                mContext.getString(R.string.ims_reg_status_not_registered));
+                mContext.getString(com.android.settingslib.R.string.ims_reg_status_not_registered));
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java b/tests/unit/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
index ce8338c..53581eb 100644
--- a/tests/unit/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
+++ b/tests/unit/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
@@ -146,8 +146,8 @@
     private List<Integer> getIndexableXml() {
         final List<Integer> xmlResSet = new ArrayList<>();
 
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(
-                mContext).getSearchFeatureProvider().getSearchIndexableResources()
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
+                .getSearchFeatureProvider().getSearchIndexableResources()
                 .getProviderValues();
 
         for (SearchIndexableData bundle : bundles) {
diff --git a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
index 0c3bc8c..90b4efe 100644
--- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -192,8 +192,9 @@
         return localeFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) {
+    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider() {
         return enterprisePrivacyFeatureProvider;
     }
 
@@ -212,8 +213,9 @@
         return securityFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public UserFeatureProvider getUserFeatureProvider(Context context) {
+    public UserFeatureProvider getUserFeatureProvider() {
         return userFeatureProvider;
     }
 
diff --git a/tests/unit/src/com/android/settings/wifi/dpp/WifiQrCodeTest.java b/tests/unit/src/com/android/settings/wifi/dpp/WifiQrCodeTest.java
new file mode 100644
index 0000000..e3a8ca5
--- /dev/null
+++ b/tests/unit/src/com/android/settings/wifi/dpp/WifiQrCodeTest.java
@@ -0,0 +1,74 @@
+/*
+ * 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.wifi.dpp;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class WifiQrCodeTest {
+    @Test
+    public void testZxParsing_validCode() {
+        WifiNetworkConfig config = new WifiQrCode("WIFI:S:testAbC;T:nopass").getWifiNetworkConfig();
+        assertThat(config.getSsid()).isEqualTo("testAbC");
+        assertThat(config.getSecurity()).isEqualTo("nopass");
+
+        config = new WifiQrCode(
+                "WIFI:S:reallyLONGone;T:WEP;P:somepasswo#%^**123rd").getWifiNetworkConfig();
+        assertThat(config.getSsid()).isEqualTo("reallyLONGone");
+        assertThat(config.getSecurity()).isEqualTo("WEP");
+        assertThat(config.getPreSharedKey()).isEqualTo("somepasswo#%^**123rd");
+
+        config = new WifiQrCode("WIFI:S:anotherone;T:WPA;P:3#=3j9asicla").getWifiNetworkConfig();
+        assertThat(config.getSsid()).isEqualTo("anotherone");
+        assertThat(config.getSecurity()).isEqualTo("WPA");
+        assertThat(config.getPreSharedKey()).isEqualTo("3#=3j9asicla");
+
+        config = new WifiQrCode("WIFI:S:xx;T:SAE;P:a").getWifiNetworkConfig();
+        assertThat(config.getSsid()).isEqualTo("xx");
+        assertThat(config.getSecurity()).isEqualTo("SAE");
+        assertThat(config.getPreSharedKey()).isEqualTo("a");
+    }
+
+    @Test
+    public void testZxParsing_invalidCodeButShouldWork() {
+        WifiNetworkConfig config = new WifiQrCode(
+                "WIFI:S:testAbC; T:nopass").getWifiNetworkConfig();
+        assertThat(config.getSsid()).isEqualTo("testAbC");
+        assertThat(config.getSecurity()).isEqualTo("nopass");
+
+        config = new WifiQrCode(
+                "WIFI:S:reallyLONGone;T:WEP; P:somepassword").getWifiNetworkConfig();
+        assertThat(config.getSsid()).isEqualTo("reallyLONGone");
+        assertThat(config.getSecurity()).isEqualTo("WEP");
+        assertThat(config.getPreSharedKey()).isEqualTo("somepassword");
+
+        config = new WifiQrCode("WIFI: S:anotherone;T:WPA;P:abcdefghihklmn").getWifiNetworkConfig();
+        assertThat(config.getSsid()).isEqualTo("anotherone");
+        assertThat(config.getSecurity()).isEqualTo("WPA");
+        assertThat(config.getPreSharedKey()).isEqualTo("abcdefghihklmn");
+
+        config = new WifiQrCode("WIFI: S:xx; T:SAE;   P:a").getWifiNetworkConfig();
+        assertThat(config.getSsid()).isEqualTo("xx");
+        assertThat(config.getSecurity()).isEqualTo("SAE");
+        assertThat(config.getPreSharedKey()).isEqualTo("a");
+    }
+}